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:             ;; Recover free descriptors.
              (with-rtl8168-access (nic)
                (loop
                   (when (eql (rtl8168-tx-current nic) (rtl8168-tx-tail nic))
                     ;; All pending descriptors processed.
                     (return))
                   (when (logbitp +rtl8168-descriptor-OWN+ (rtl8168-tx-desc-flags nic (rtl8168-tx-tail nic)))
  
negative.code:          (loop
              ;; Wait for something to happen.
              ;; Either an interrupt, a request to send, or the device's boot epoch expiring.
              (if (tx-descriptors-available-p nic)
                  (sync:wait-for-objects (rtl8168-irq-handler nic)
                                         (rtl8168-tx-mailbox nic)
                                         (rtl8168-boot-id nic))
                  ;; Don't look in the TX mailbox if all descriptors are full.
                  (sync:wait-for-objects (rtl8168-irq-handler nic)
                                         (rtl8168-boot-id nic)))
              ;; Perform receive handling. Remove packets from the RX ring
              ;; until there are none left.
              (loop
  