Messages in this thread | | | Date | Mon, 22 Jun 2020 16:09:59 -0700 (PDT) | Subject | Re: [PATCH net v3] net: phy: smsc: fix printing too many logs | From | David Miller <> |
| |
From: Dejin Zheng <zhengdejin5@gmail.com> Date: Sat, 20 Jun 2020 22:55:34 +0800
> Commit 7ae7ad2f11ef47 ("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: 7ae7ad2f11ef47 ("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>
Applied and queued up for -stable, thanks.
| |