mirror of https://github.com/torvalds/linux.git
Marc reported that he was not getting the PHY library adjust_link()
callback function to run when calling phy_stop() + phy_disconnect()
which does not indeed happen because we set the state machine to
PHY_HALTED but we don't get to run it to process this state past that
point.
Fix this with a synchronous call to phy_state_machine() in order to have
the state machine actually act on PHY_HALTED, set the PHY device's link
down, turn the network device's carrier off and finally call the
adjust_link() function.
Reported-by: Marc Gonzalez <marc_gonzalez@sigmadesigns.com>
Fixes:
|
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| amd.c | ||
| aquantia.c | ||
| at803x.c | ||
| bcm-cygnus.c | ||
| bcm-phy-lib.c | ||
| bcm-phy-lib.h | ||
| bcm7xxx.c | ||
| bcm63xx.c | ||
| bcm87xx.c | ||
| broadcom.c | ||
| cicada.c | ||
| cortina.c | ||
| davicom.c | ||
| dp83640.c | ||
| dp83640_reg.h | ||
| dp83848.c | ||
| dp83867.c | ||
| et1011c.c | ||
| fixed_phy.c | ||
| icplus.c | ||
| intel-xway.c | ||
| lxt.c | ||
| marvell.c | ||
| marvell10g.c | ||
| mdio-bcm-iproc.c | ||
| mdio-bcm-unimac.c | ||
| mdio-bitbang.c | ||
| mdio-boardinfo.c | ||
| mdio-boardinfo.h | ||
| mdio-cavium.c | ||
| mdio-cavium.h | ||
| mdio-gpio.c | ||
| mdio-hisi-femac.c | ||
| mdio-moxart.c | ||
| mdio-mux-bcm-iproc.c | ||
| mdio-mux-gpio.c | ||
| mdio-mux-mmioreg.c | ||
| mdio-mux.c | ||
| mdio-octeon.c | ||
| mdio-sun4i.c | ||
| mdio-thunder.c | ||
| mdio-xgene.c | ||
| mdio-xgene.h | ||
| mdio_bus.c | ||
| mdio_device.c | ||
| meson-gxl.c | ||
| micrel.c | ||
| microchip.c | ||
| mscc.c | ||
| national.c | ||
| phy-c45.c | ||
| phy-core.c | ||
| phy.c | ||
| phy_device.c | ||
| phy_led_triggers.c | ||
| qsemi.c | ||
| realtek.c | ||
| smsc.c | ||
| spi_ks8995.c | ||
| ste10Xp.c | ||
| swphy.c | ||
| swphy.h | ||
| teranetics.c | ||
| vitesse.c | ||
| xilinx_gmii2rgmii.c | ||