anchor.diff:            0
             0))
   
  +(defun tx-descriptors-available-p (nic)
  +  (not (eql (rtl8168-tx-used-count nic) +rtl8168-n-tx-descriptors+)))
  +
   (defun rtl8168-worker (nic)
     (when (not (rtl8168-initialize nic))
       (return-from rtl8168-worker))
  
positive.code:          (loop
              ;; Wait for something to happen.
              ;; Either an interrupt, a request to send, or the device's boot epoch expiring.
              (sync:wait-for-objects (rtl8168-irq-handler nic)
                                     (rtl8168-tx-mailbox nic)
                                     (rtl8168-boot-id nic))
              ;; Perform receive handling. Remove packets from the RX ring
              ;; until there are none left.
              (loop
  
negative.code:                  #+(or)(debug-print-line "RTL8168 transmitted packet on descriptor " (rtl8168-tx-tail nic))))
              ;; Send pending packets.
              (loop
                 (when (not (tx-descriptors-available-p nic))
                   ;; Don't transmit when there are no free descriptors.
                   #+(or)(debug-print-line "RTL8168 not transmitting - no free descriptors.")
                   (return))
  