linux_dsm_epyc7002/drivers/net/phy
Dejin Zheng 6d61f483f1 net: phy: smsc: fix printing too many logs
Commit 7ae7ad2f11 ("net: phy: smsc: use phy_read_poll_timeout()
to simplify the code") will print a lot of logs as follows when Ethernet
cable is not connected:

[    4.473105] SMSC LAN8710/LAN8720 2188000.ethernet-1:00: lan87xx_read_status failed: -110

When wait 640 ms for check ENERGYON bit, the timeout should not be
regarded as an actual error and an error message also should not be
printed. due to a hardware bug in LAN87XX device, it leads to unstable
detection of plugging in Ethernet cable when LAN87xx is in Energy Detect
Power-Down mode. the workaround for it involves, when the link is down,
and at each read_status() call:

- disable EDPD mode, forcing the PHY out of low-power mode
- waiting 640ms to see if we have any energy detected from the media
- re-enable entry to EDPD mode

This is presumably enough to allow the PHY to notice that a cable is
connected, and resume normal operations to negotiate with the partner.
The problem is that when no media is detected, the 640ms wait times
out and this commit was modified to prints an error message. it is an
inappropriate conversion by used phy_read_poll_timeout() to introduce
this bug. so fix this issue by use read_poll_timeout() to replace
phy_read_poll_timeout().

Fixes: 7ae7ad2f11 ("net: phy: smsc: use phy_read_poll_timeout() to simplify the code")
Reported-by: Kevin Groeneveld <kgroeneveld@gmail.com>
Signed-off-by: Dejin Zheng <zhengdejin5@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-06-22 16:08:48 -07:00
..
mscc net: phy: mscc: fix Serdes configuration in vsc8584_config_init 2020-06-05 13:16:13 -07:00
adin.c net: phy: adin: fix a warning about msleep 2020-01-19 16:06:42 +01:00
amd.c
aquantia_hwmon.c
aquantia_main.c net: phy: aquantia: use phy_read_mmd_poll_timeout() to simplify the code 2020-03-23 22:00:02 -07:00
aquantia.h net: phy: Use the correct style for SPDX License Identifier 2019-11-27 11:25:48 -08:00
at803x.c net: phy: at803x: add cable diagnostics support for ATH9331 and ATH8032 2020-05-26 23:26:04 -07:00
ax88796b.c
bcm7xxx.c net: phy: bcm7xx: add jumbo frame configuration to PHY 2020-03-27 16:07:24 -07:00
bcm63xx.c net: phy: bcm63xx: fix OOPS due to missing driver name 2020-03-03 17:37:06 -08:00
bcm87xx.c net: mdiobus: add clause 45 mdiobus accessors 2020-05-26 15:31:45 -07:00
bcm54140.c net: phy: bcm54140: add cable diagnostics support 2020-05-13 12:52:39 -07:00
bcm84881.c net: phy: bcm84881: clear settings on link down 2020-04-23 15:55:35 -07:00
bcm-cygnus.c
bcm-phy-lib.c net: phy: broadcom: don't export RDB/legacy access methods 2020-06-01 12:02:57 -07:00
bcm-phy-lib.h net: phy: broadcom: add cable test support 2020-05-13 12:52:38 -07:00
broadcom.c net: phy: broadcom: fix checkpatch complains about tabs 2020-05-16 13:38:33 -07:00
cicada.c
cortina.c net: mdiobus: add clause 45 mdiobus accessors 2020-05-26 15:31:45 -07:00
davicom.c
dp83tc811.c net: phy: DP83TC811: Fix WoL in config init to be disabled 2020-05-01 15:23:44 -07:00
dp83640_reg.h
dp83640.c dp83640: reverse arguments to list_add_tail 2020-04-30 17:48:26 -07:00
dp83822.c net: phy: DP83822: Fix WoL in config init to be disabled 2020-05-01 15:23:44 -07:00
dp83848.c
dp83867.c net: dp83867: Fix OF_MDIO config check 2020-06-05 13:15:22 -07:00
dp83869.c net: dp83869: Reset return variable if PHY strap is read 2020-06-06 15:53:44 -07:00
et1011c.c
fixed_phy.c net: phy: fixed_phy: Remove unused seqcount 2020-06-04 15:50:42 -07:00
icplus.c
intel-xway.c
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
linkmode.c net: add linkmode helper for setting flow control advertisement 2020-02-16 19:39:44 -08:00
lxt.c net: phy: provide and use genphy_read_status_fixed() 2019-12-19 12:52:34 -08:00
Makefile net: phy: mdio: add IPQ4019 MDIO driver 2020-04-30 12:11:14 -07:00
marvell10g.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-05-06 22:10:13 -07:00
marvell.c net: marvell: Fix OF_MDIO config check 2020-06-05 13:15:22 -07:00
mdio_bus.c net: mdiobus: Disable preemption upon u64_stats update 2020-06-04 15:50:42 -07:00
mdio_device.c net: phy: allow for reset line to be tied to a sleepy GPIO controller 2019-10-04 18:07:45 -07:00
mdio-aspeed.c
mdio-bcm-iproc.c net: phy: Make iproc_mdio_resume static 2020-05-07 12:55:29 -07:00
mdio-bcm-unimac.c net: phy: mdio-bcm-unimac: Fix clock handling 2020-03-24 16:45:32 -07:00
mdio-bitbang.c
mdio-boardinfo.c
mdio-boardinfo.h
mdio-cavium.c
mdio-cavium.h net: phy: Use the correct style for SPDX License Identifier 2019-11-27 11:25:48 -08:00
mdio-gpio.c
mdio-hisi-femac.c
mdio-i2c.c net: mdio-i2c: add support for Clause 45 accesses 2019-12-11 11:53:41 -08:00
mdio-i2c.h net: phy: Use the correct style for SPDX License Identifier 2019-11-27 11:25:48 -08:00
mdio-ipq4019.c net: phy: mdio: add IPQ4019 MDIO driver 2020-04-30 12:11:14 -07:00
mdio-ipq8064.c net: mdio: add ipq8064 mdio driver 2020-03-06 22:07:05 -08:00
mdio-moxart.c net: phy: mdio-moxart: remove unneeded include 2020-05-14 17:58:46 -07:00
mdio-mscc-miim.c net: phy: mscc-miim: read poll when high resolution timers are disabled 2020-05-26 15:33:56 -07:00
mdio-mux-bcm-iproc.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-03-25 18:58:11 -07:00
mdio-mux-gpio.c
mdio-mux-meson-g12a.c clk: let init callback return an error code 2019-12-23 18:53:13 -08:00
mdio-mux-mmioreg.c
mdio-mux-multiplexer.c
mdio-mux.c
mdio-mvusb.c net: phy: add marvell usb to mdio controller 2020-03-26 19:49:34 -07:00
mdio-octeon.c
mdio-sun4i.c phy: mdio-sun4i: add missed regulator_disable in remove 2019-11-18 17:22:40 -08:00
mdio-thunder.c phy: mdio-thunder: add missed pci_release_regions in remove 2019-12-06 12:05:06 -08:00
mdio-xgene.c
mdio-xgene.h net: phy: Use the correct style for SPDX License Identifier 2019-11-27 11:25:48 -08:00
mdio-xpcs.c net: phy: xpcs: Restart AutoNeg if outcome was invalid 2020-03-23 21:01:58 -07:00
meson-gxl.c
micrel.c net: phy: micrel: add phy-mode support for the KSZ9031 PHY 2020-04-22 19:38:46 -07:00
microchip_t1.c net: phy: microchip_t1: add lan87xx_phy_init to initialize the lan87xx phy. 2020-04-22 11:38:58 -07:00
microchip.c
mii_timestamper.c net: mii_timestamper: fix static allocation by PHY driver 2020-01-31 07:46:11 -08:00
national.c
nxp-tja11xx.c net: ethtool: Add generic parts of cable test TDR 2020-05-26 23:21:48 -07:00
phy_device.c net: phy: Check harder for errors in get_phy_id() 2020-06-19 13:39:01 -07:00
phy_led_triggers.c
phy-c45.c net: phy: remove genphy_no_soft_reset 2020-04-24 16:47:51 -07:00
phy-core.c net: mdiobus: add clause 45 mdiobus accessors 2020-05-26 15:31:45 -07:00
phy.c net: ethtool: Allow PHY cable test TDR data to configured 2020-05-26 23:22:21 -07:00
phylink.c net: mdiobus: add clause 45 mdiobus accessors 2020-05-26 15:31:45 -07:00
qsemi.c
realtek.c net: phy: realtek: add delay to resume path of certain internal PHY's 2020-04-20 11:12:29 -07:00
rockchip.c
sfp-bus.c net: phy: sfp-bus.c: get rid of docs warnings 2020-03-17 23:39:29 -07:00
sfp.c net: sfp: report error on failure to read sfp soft status 2019-12-19 17:26:07 -08:00
sfp.h net: sfp: add module start/stop upstream notifications 2019-12-11 11:53:41 -08:00
smsc.c net: phy: smsc: fix printing too many logs 2020-06-22 16:08:48 -07:00
spi_ks8995.c
ste10Xp.c
swphy.c Update rmk's email address in various drivers 2020-04-21 17:50:09 +01:00
swphy.h
teranetics.c net: phy: remove genphy_no_soft_reset 2020-04-24 16:47:51 -07:00
uPD60620.c net: phy: use phy_resolve_aneg_pause() 2019-12-19 12:52:34 -08:00
vitesse.c
xilinx_gmii2rgmii.c