opnsense-src/sys/dev/etherswitch/e6000sw
Adrian Chadd c8e97aa6ac e6000sw: fix bus ordering; don't panic if miibus devices are destroyed
Unloading the e6000sw driver with a "fixed" ixgbe (which is doing
MDIO transfers faster than 8ms per) has exposed another fun race
condition - the MII busses were being torn down before the etherswitch
device.

* Modify e6000sw_miiforphy() to return NULL if the mii bus device
  isn't setup, which stops the panic

* Change the module order so the e6000sw module is detached first,
  before the miibus entries and attached PHYs are destroyed.
  This ensures that the miibus entries aren't destroyed outside
  of the driver lock, and e6000sw_tick() doesn't try dereferencing
  dead miibus device_t's.

Differential Revision: https://reviews.freebsd.org/D50294
Reviewed by:	jhb
2025-05-15 19:34:26 -07:00
..
e6000sw.c e6000sw: fix bus ordering; don't panic if miibus devices are destroyed 2025-05-15 19:34:26 -07:00
e6000swreg.h e6000sw: add support for 88E6190X 2025-04-27 11:11:26 -07:00
e6060sw.c etherswitch: Cleanup detach and delete of child devices during detach 2025-01-02 13:24:46 -05:00