WSL2-Linux-Kernel/drivers/net/phy
Heiner Kallweit c36757eb9d net: phy: consider AN_RESTART status when reading link status
After configuring and restarting aneg we immediately try to read the
link status. On some systems the PHY may not yet have cleared the
"aneg complete" and "link up" bits, resulting in a false link-up
signal. See [0] for a report.
Clause 22 and 45 both require the PHY to keep the AN_RESTART
bit set until the PHY actually starts auto-negotiation.
Let's consider this in the generic functions for reading link status.
The commit marked as fixed is the first one where the patch applies
cleanly.

[0] https://marc.info/?t=156518400300003&r=1&w=2

Fixes: c1164bb1a6 ("net: phy: check PMAPMD link status only in genphy_c45_read_link")
Tested-by: Yonglong Liu <liuyonglong@huawei.com>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
2019-08-13 19:49:01 -07:00
..
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-06-17 20:20:36 -07:00
Makefile Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-06-17 20:20:36 -07:00
amd.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
aquantia.h net: phy: aquantia: add hwmon support 2019-02-25 14:16:22 -08:00
aquantia_hwmon.c net: phy: aquantia: add hwmon support 2019-02-25 14:16:22 -08:00
aquantia_main.c net: phy: aquantia: add USXGMII support and warn if XGMII mode is set 2019-05-24 13:39:34 -07:00
at803x.c net: phy: at803x: stop switching phy delay config needlessly 2019-08-12 14:02:29 -07:00
ax88796b.c net: phy: rename Asix Electronics PHY driver 2019-06-09 13:24:17 -07:00
bcm-cygnus.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
bcm-phy-lib.c net: phy: Prepare for moving Omega out of bcm7xxx 2019-03-21 13:41:26 -07:00
bcm-phy-lib.h net: phy: Prepare for moving Omega out of bcm7xxx 2019-03-21 13:41:26 -07:00
bcm7xxx.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
bcm63xx.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
bcm87xx.c net: phy: bcm87xx: improve bcm87xx_config_init and feature detection 2019-05-26 21:56:41 -07:00
broadcom.c net: phy: broadcom: Add genphy_suspend and genphy_resume for BCM5464 2019-06-09 20:05:19 -07:00
cicada.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
cortina.c net: phy: remove gen10g_no_soft_reset 2019-03-03 21:47:57 -08:00
davicom.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
dp83tc811.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
dp83640.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -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: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
dp83848.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
dp83867.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-05-31 10:49:43 -07:00
et1011c.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
fixed_phy.c net: phy: fixed_phy: print gpio error only if gpio node is present 2019-07-30 09:54:45 -07:00
icplus.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
intel-xway.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
lxt.c net: phy: lxt: Add suspend/resume support to LXT971 and LXT973. 2019-05-23 09:19:21 -07:00
marvell.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-05-02 22:14:21 -04:00
marvell10g.c net: phy: marvell10g: report if the PHY fails to boot firmware 2019-05-29 14:25:10 -07:00
mdio-bcm-iproc.c net: phy: Remove redundent License text when SPDX header is present 2019-01-22 20:53:08 -08:00
mdio-bcm-unimac.c net: phy: mdio-bcm-unimac: remove redundant !timeout check 2019-03-27 14:27:30 -07:00
mdio-bitbang.c net: phy: Fixup GPLv2 SPDX tags based on license text 2019-01-22 20:58:40 -08:00
mdio-boardinfo.c net: phy: Convert some PHY and MDIO driver files to SPDX headers 2019-01-22 20:53:08 -08: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 net: phy: Add SDPX tag based on COPYING file 2019-01-22 20:59:18 -08:00
mdio-cavium.h net: phy: Add SDPX tag based on COPYING file 2019-01-22 20:59:18 -08:00
mdio-gpio.c net: phy: Fixup GPLv2 SPDX tags based on license text 2019-01-22 20:58:40 -08:00
mdio-hisi-femac.c net: phy: Fixup GPLv2+ SPDX tags based on license text 2019-01-22 20:57:03 -08:00
mdio-i2c.c net: phy: Convert some PHY and MDIO driver files to SPDX headers 2019-01-22 20:53:08 -08:00
mdio-i2c.h net: phy: Convert some PHY and MDIO driver files to SPDX headers 2019-01-22 20:53:08 -08:00
mdio-moxart.c net: phy: Fixup GPLv2 SPDX tags based on license text 2019-01-22 20:58:40 -08:00
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: Convert some PHY and MDIO driver files to SPDX headers 2019-01-22 20:53:08 -08:00
mdio-mux-gpio.c net: phy: Add SDPX tag based on COPYING file 2019-01-22 20:59:18 -08:00
mdio-mux-meson-g12a.c net: meson: fixup g12a glue ephy id 2019-05-13 09:12:19 -07:00
mdio-mux-mmioreg.c net: phy: Convert some PHY and MDIO driver files to SPDX headers 2019-01-22 20:53:08 -08:00
mdio-mux-multiplexer.c drivers: net: phy: mdio-mux: Add support for Generic Mux controls 2019-02-27 12:52:20 -08:00
mdio-mux.c net: phy: Add SDPX tag based on COPYING file 2019-01-22 20:59:18 -08:00
mdio-octeon.c net: phy: Add SDPX tag based on COPYING file 2019-01-22 20:59:18 -08:00
mdio-sun4i.c net: phy: Fixup GPLv2 SPDX tags based on license text 2019-01-22 20:58:40 -08:00
mdio-thunder.c net: phy: Add SDPX tag based on COPYING file 2019-01-22 20:59:18 -08:00
mdio-xgene.c net: phy: Convert some PHY and MDIO driver files to SPDX headers 2019-01-22 20:53:08 -08:00
mdio-xgene.h net: phy: Convert some PHY and MDIO driver files to SPDX headers 2019-01-22 20:53:08 -08:00
mdio_bus.c net: mdio: rename mdio_device reset to reset_gpio 2019-04-18 17:42:54 -07:00
mdio_device.c net: mdio: rename mdio_device reset to reset_gpio 2019-04-18 17:42:54 -07:00
meson-gxl.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
micrel.c net: phy: micrel: make sure the factory test bit is cleared 2019-04-29 23:17:21 -04:00
microchip.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
microchip_t1.c net: phy: remove flag PHY_HAS_INTERRUPT from driver configs 2018-11-11 09:36:56 -08:00
mscc.c net: phy: mscc: initialize stats array 2019-07-24 15:25:44 -07:00
national.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
nxp-tja11xx.c net: phy: tja11xx: Switch to HWMON_CHANNEL_INFO() 2019-05-29 22:02:18 -07:00
phy-c45.c net: phy: consider AN_RESTART status when reading link status 2019-08-13 19:49:01 -07:00
phy-core.c net: phy: Add support for 100BaseT1 and 1000BaseT1 2019-05-22 17:46:28 -07:00
phy.c net: phy: Make use of linkmode_mod_bit helper 2019-07-08 20:10:34 -07:00
phy_device.c net: phy: consider AN_RESTART status when reading link status 2019-08-13 19:49:01 -07:00
phy_led_triggers.c net: phy: phy_led_triggers: Fix a possible null-pointer dereference in phy_led_trigger_change_speed() 2019-07-31 18:56:11 -04:00
phylink.c net: phylink: Fix flow control for fixed-link 2019-07-27 14:27:51 -07:00
qsemi.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
realtek.c net: phy: realtek: Replace phy functions with non-locked version in rtl8211e_config_init() 2019-05-13 09:10:39 -07:00
rockchip.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
sfp-bus.c net: sfp: remove sfp-bus use of netdevs 2019-05-31 12:37:46 -07:00
sfp.c net: phy: sfp: hwmon: Fix scaling of RX power 2019-07-21 11:51:50 -07:00
sfp.h net: sfp: do not probe SFP module before we're attached 2019-02-08 15:11:25 -08:00
smsc.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
spi_ks8995.c spi: Micrel eth switch: declare missing of table 2019-04-23 10:44:44 -07:00
ste10Xp.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
swphy.c net: phy: improve auto-neg emulation in swphy 2019-02-24 22:28:15 -08:00
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: remove gen10g_no_soft_reset 2019-03-03 21:47:57 -08:00
uPD60620.c net: phy: switch drivers to use dynamic feature detection 2019-04-15 17:19:54 -07:00
vitesse.c net: phy: vitesse: Remove support for VSC8514. 2019-04-23 10:47:58 -07:00
xilinx_gmii2rgmii.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-02-20 00:34:07 -08:00