linux-uconsole/drivers/net/phy
Kunihiko Hayashi 4d1edda006 net: phy: Fix the issue that netif always links up after resuming
[ Upstream commit 8742beb50f ]

Even though the link is down before entering hibernation,
there is an issue that the network interface always links up after resuming
from hibernation.

If the link is still down before enabling the network interface,
and after resuming from hibernation, the phydev->state is forcibly set
to PHY_UP in mdio_bus_phy_restore(), and the link becomes up.

In suspend sequence, only if the PHY is attached, mdio_bus_phy_suspend()
calls phy_stop_machine(), and mdio_bus_phy_resume() calls
phy_start_machine().
In resume sequence, it's enough to do the same as mdio_bus_phy_resume()
because the state has been preserved.

This patch fixes the issue by calling phy_start_machine() in
mdio_bus_phy_restore() in the same way as mdio_bus_phy_resume().

Fixes: bc87922ff5 ("phy: Move PHY PM operations into phy_device")
Suggested-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-01-09 17:38:32 +01:00
..
amd.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
aquantia.c net: phy: aquantia: Utilize genphy_c45_aneg_done() 2018-03-01 21:23:34 -05:00
asix.c net-next: phy: new Asix Electronics PHY driver 2018-04-19 16:11:10 -04:00
at803x.c net: phy: fix wrong masks to phy_modify() 2018-01-08 14:20:21 -05:00
bcm-cygnus.c net: phy: broadcom: Fix bcm_write_exp() 2018-05-23 15:27:01 -04:00
bcm-phy-lib.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-05-26 19:46:15 -04:00
bcm-phy-lib.h net: phy: broadcom: Fix bcm_write_exp() 2018-05-23 15:27:01 -04:00
bcm7xxx.c net: phy: Add support for Broadcom Omega internal Combo GPHY 2018-08-07 15:48:38 -07:00
bcm63xx.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
bcm87xx.c
broadcom.c net: phy: broadcom: Enable 125 MHz clock on LED4 pin for BCM54612E by default. 2018-06-05 09:43:09 -04:00
cicada.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
cortina.c net: phy: cortina: Utilize generic functions 2018-03-01 21:23:35 -05:00
davicom.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
dp83tc811.c net: phy: DP83TC811: Fix SGMII enable/disable 2018-07-03 11:38:07 +09:00
dp83640.c net: dp83640: Mark expected switch fall-throughs 2018-08-11 11:28:34 -07:00
dp83640_reg.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dp83822.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
dp83848.c net: phy: dp83822: use BMCR_ANENABLE instead of BMSR_ANEGCAPABLE for DP83620 2018-06-10 12:38:03 -07:00
dp83867.c net: phy: dp83867: Add binding for the CLK_OUT pin muxing option 2018-02-14 15:33:43 -05:00
et1011c.c
fixed_phy.c net: phy: fixed-phy: Make the error path simpler 2018-06-24 16:41:58 +09:00
icplus.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
intel-xway.c net: phy: intel-xway: add VR9 v1.1 phy ids 2018-03-23 13:19:49 -04:00
Kconfig net: phy: sfp: Do not use "imply HWMON" 2018-07-21 19:26:54 -07:00
lxt.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
Makefile net: phy: mscc-miim: Add MDIO driver 2018-05-15 16:41:15 -04:00
marvell.c net: phy: marvell: Replace mdelay() with msleep() in m88e1116r_config_init() 2018-07-27 13:45:14 -07:00
marvell10g.c net: phy: marvell10g: add thermal hwmon device 2018-04-04 11:24:54 -04:00
mdio-bcm-iproc.c
mdio-bcm-unimac.c net: phy: mdio-bcm-unimac: fix potential NULL dereference in unimac_mdio_probe() 2018-01-11 13:56:24 -05:00
mdio-bitbang.c net: phy: mdio-bitbang: Remove reset support 2018-04-19 15:59:10 -04:00
mdio-boardinfo.c net: phy: mdio-boardinfo: Allow recursive mdiobus_register() 2018-04-20 10:33:26 -04:00
mdio-boardinfo.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mdio-cavium.c
mdio-cavium.h
mdio-gpio.c net: phy: mdio-gpio: Fix working over slow can_sleep GPIOs 2018-11-23 08:17:06 +01:00
mdio-hisi-femac.c
mdio-i2c.c net: phy: add I2C mdio bus 2017-08-06 20:55:28 -07:00
mdio-i2c.h net: phy: add I2C mdio bus 2017-08-06 20:55:28 -07:00
mdio-moxart.c
mdio-mscc-miim.c drivers: net: Remove device_node checks with of_mdiobus_register() 2018-05-16 14:20:36 -04:00
mdio-mux-bcm-iproc.c net: phy: Add pm support to Broadcom iProc mdio mux driver 2018-08-02 14:36:49 -07:00
mdio-mux-gpio.c mdio-mux-gpio: Remove VLA usage 2018-06-26 23:24:07 +09:00
mdio-mux-mmioreg.c net: phy: mdio-mux: slience probe defer error 2018-03-07 12:39:59 -05:00
mdio-mux.c net: mdio-mux: add mdio_mux parameter to mdio_mux_init() 2017-09-05 14:42:52 -07:00
mdio-octeon.c
mdio-sun4i.c mdio-sun4i: Fix a memory leak 2018-01-08 14:30:28 -05:00
mdio-thunder.c
mdio-xgene.c net: phy: xgene: disable clk on error paths 2017-12-18 15:09:42 -05:00
mdio-xgene.h
mdio_bus.c net: phy: remove PM ops from MDIO bus 2018-06-05 08:50:16 -04:00
mdio_device.c phylib: rename reset-(post-)delay-us to reset-(de)assert-us 2017-12-27 11:06:50 -05:00
meson-gxl.c net: phy: meson-gxl: join the authors 2017-12-18 13:24:56 -05:00
micrel.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-05-21 16:01:54 -04:00
microchip.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-04-21 16:32:48 -04:00
microchip_t1.c microchip_t1: Add driver for Microchip LAN87XX T1 PHYs 2018-05-10 14:16:36 -04:00
mscc.c net: phy: mscc: the extended page access register is 16 bits 2018-07-30 09:42:32 -07:00
national.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
phy-c45.c net: phy: Fix spelling mistake: "advertisment"-> "advertisement" 2018-03-04 18:11:54 -05:00
phy-core.c net: phy: Fix spelling mistake: "advertisment"-> "advertisement" 2018-03-04 18:11:54 -05:00
phy.c net: phy: add helper phy_polling_mode 2018-07-25 13:41:22 -07:00
phy_device.c net: phy: Fix the issue that netif always links up after resuming 2019-01-09 17:38:32 +01:00
phy_led_triggers.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
phylink.c net: phy: phylink: ensure the carrier is off when starting phylink 2018-11-13 11:08:27 -08:00
qsemi.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
realtek.c net: phy: realtek: fix RTL8201F sysfs name 2018-11-23 08:17:06 +01:00
rockchip.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
sfp-bus.c net: phy: sfp: correct store of detected link modes 2018-12-17 09:24:28 +01:00
sfp.c net: phy: sfp: remove sfp_mutex's definition 2018-10-11 12:10:06 -07:00
sfp.h sfp: add sfp-bus to bridge between network devices and sfp cages 2017-08-06 20:55:29 -07:00
smsc.c drivers: net: replace UINT64_MAX with U64_MAX 2018-04-27 20:18:55 -04:00
spi_ks8995.c drivers/net: Use octal not symbolic permissions 2018-03-26 12:07:49 -04:00
ste10Xp.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
swphy.c
swphy.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
teranetics.c net: phy: teranetics: Utilize generic functions 2018-03-01 21:23:34 -05:00
uPD60620.c net: phy: remove generic settings for callbacks config_aneg and read_status from drivers 2017-12-01 15:42:21 -05:00
vitesse.c net: phy: vitesse: Add support for VSC73xx 2018-07-04 11:30:02 +09:00
xilinx_gmii2rgmii.c net: phy: xgmiitorgmii: Check read_status results 2018-06-28 16:12:06 +09:00