anchor.diff:  
         (prog1
             (td-xfer-bytes msg-td length)
  -        (free-buffer msg-td)))))
  +        (free-td ohci msg-td)))))
   
   ;;======================================================================
   ;; OHCI interrupt event handlers
  
positive.code:                       value
                        index
                        length)
        (setf (gethash msg-td (td->td-info ohci)) td-info
              (ed-tdq-tail ed) (array->phys-addr dummy-td))
  
        (with-trace-level (3)
  
negative.code: (defun (setf td-buffer-end) (phys-addr td)
    (setf (aref td +td-buffer-end+) phys-addr))
  
  (defun alloc-td (ohci &key event-type endpoint buf-size buf)
    (let ((td (alloc-buffer/32 (buf-pool ohci) 4)))
      (setf (gethash td (td->td-info ohci)) (make-td-info :event-type event-type
                                                          :endpoint endpoint
                                                          :buf-size buf-size
                                                          :buf buf))
      td))
  
  (defun free-td (ohci td)
    (remhash td (td->td-info ohci))
    (free-buffer td))
  
  (defun encode-td-header (partial-buf pid int-delay toggle)
    (logior (dpb partial-buf +td-buffer-rounding+ 0)  ;; parital buffer is OK
  