OpenCloudOS-Kernel/drivers/net/phy
Heiner Kallweit aa6b195615 net: phy: fix race in genphy_update_link
In phy_start_aneg() autoneg is started, and immediately after that
link and autoneg status are read. As reported in [0] it can happen that
at time of this read the PHY has reset the "aneg complete" bit but not
yet the "link up" bit, what can result in a false link-up detection.
To fix this don't report link as up if we're in aneg mode and PHY
doesn't signal "aneg complete".

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

Fixes: 4950c2ba49 ("net: phy: fix autoneg mismatch case in genphy_read_status")
Reported-by: liuyonglong <liuyonglong@huawei.com>
Tested-by: liuyonglong <liuyonglong@huawei.com>
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-08-02 18:16:04 -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: mdio: rename mdio_device reset to reset_gpio 2019-04-18 17:42:54 -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 treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02: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: fix race in genphy_update_link 2019-08-02 18:16:04 -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