ix(4) relies on link-state change interrupts the update the link state
via if_link_state_change(). However, after ixgbe_stop() all interrupts
for the device are disabled and there won't be any IXGBE_EICR_LSC
interrupt.

Simple solution: manually update link state after ixgbe_stop().

Gerhard


--- sys/dev/pci/if_ix.c 2020/07/18 07:18:22     1.172
+++ sys/dev/pci/if_ix.c 2020/10/12 09:13:59
@@ -1606,6 +1606,8 @@ ixgbe_stop(void *arg)
        /* Should we really clear all structures on stop? */
        ixgbe_free_transmit_structures(sc);
        ixgbe_free_receive_structures(sc);
+
+       ixgbe_update_link_status(sc);
 }
 
 

Reply via email to