net: phy: Do not double remove phy device
This fixes: 80264a8 driver: Call bus->remove instead of driver->remove On mvebu it happens that: Upon device shutdown, when iterating through the active device list, the phy0 device is removed before mdio-mvebu. Then, when the mdio bus device is removed, the phy0 device is removed again, here: mdio_bus_remove(on mdio-mvebu) mvebu_mdio_remove mdiobus_unregister unregister_device mdio_bus_remove(on phy0) Fix this by setting the mdio busses phy_map[phy->addr] to NULL when unregistering the phy device, so that mdiobus_unregister no longer finds a valid phy_device when iterating over the busses device list. Reported-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Tested-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
WIP_next-LS
master
next
stable/v2017.05
stable/v2017.06
stable/v2017.07
stable/v2017.11
stable/v2018.07
stable/v2018.09
stable/v2018.12
work/fit-support
v2020.07.0
v2020.06.0
v2020.05.0
v2020.04.0
v2020.03.0
v2020.02.0
v2020.01.0
v2019.12.0
v2019.11.0
v2019.10.0
v2019.09.0
v2019.08.1
v2019.08.0
v2019.07.0
v2019.06.1
v2019.06.0
v2019.05.0
v2019.04.0
v2019.03.0
v2019.02.0
v2019.01.0
v2018.12.0
v2018.11.0
v2018.10.0
v2018.09.1
v2018.09.0
v2018.08.1
v2018.08.0
v2018.07.2
v2018.07.1
v2018.07.0
v2018.06.0
v2018.05.0
v2018.04.0
v2018.03.0
v2018.02.0
v2018.01.0
v2017.12.0
v2017.11.0
v2017.10.0
v2017.09.0
v2017.08.0
v2017.07.1
v2017.07.0
v2017.06.2
v2017.06.1
v2017.06.0
v2017.05.4
v2017.05.3
v2017.05.2
v2017.05.1
v2017.05.0
v2017.04.0
v2017.03.0
v2017.02.0
v2017.01.0
v2016.11.0
v2016.10.0
v2016.09.0
v2016.08.0
v2016.07.0
v2016.06.0
v2016.05.0
v2016.04.0
v2016.03.0
v2016.02.0
v2016.01.0
v2015.12.0
v2015.11.0
v2015.10.0
v2015.09.0
v2015.08.0
v2015.07.0
v2015.06.0
v2015.05.0
|
---|
|
drivers/net/phy/mdio_bus.c |
---|