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);
}