anchor.diff:                                  status
                                   (td-xfer-bytes td (td-info-buf-size td-info))
                                   (td-info-buf td-info))))
  -      (free-buffer td))))
  +      (free-td ohci td))))
   
   ;;======================================================================
   ;; set-device-address
  
positive.code: 
    (with-hcd-access (ohci)
      (let* ((endpoint (aref (device-endpoints device) 0))
             (ed (endpoint-ed endpoint))
             (msg-td (phys-addr->array (ed-tdq-head ed)))
             (msg-buf (alloc-buffer/8 (buf-pool ohci) 8))
             (dummy-td (alloc-td ohci))
             (td-info (make-td-info :event-type (endpoint-event-type endpoint)
                                    :endpoint endpoint
                                    :buf-size 8
                                    :buf msg-buf))
             (semaphore (device-semaphore device)))
  
        (encode-td msg-td +td-partial-buffer+ +pid-setup-token+ 3 +td-toggle-0+
  
negative.code: 
        (setf dummy-td msg-td ;; re-use previous td as "dummy" td
              msg-td (phys-addr->array (ed-tdq-head ed))
              msg-td-info (gethash msg-td (td->td-info ohci))
  
  
              ;; clean up dummy-td
              (td-header dummy-td) 0
  