diff options
author | Heiner Kallweit <hkallweit1@gmail.com> | 2019-01-06 20:44:00 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-01-07 07:19:25 -0800 |
commit | 10262b0b53666cbc506989b17a3ead1e9c3b43b4 (patch) | |
tree | 77f45e3218b391b7cf4865baaa5b16c69fb25e4f | |
parent | 0aaa81377c5a01f686bcdb8c7a6929a7bf330c68 (diff) | |
download | linux-10262b0b53666cbc506989b17a3ead1e9c3b43b4.tar.bz2 |
r8169: don't try to read counters if chip is in a PCI power-save state
Avoid log spam caused by trying to read counters from the chip whilst
it is in a PCI power-save state.
Reference: https://bugzilla.kernel.org/show_bug.cgi?id=107421
Fixes: 1ef7286e7f36 ("r8169: Dereference MMIO address immediately before use")
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/realtek/r8169.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c index 7fe9180261b8..784ae5001656 100644 --- a/drivers/net/ethernet/realtek/r8169.c +++ b/drivers/net/ethernet/realtek/r8169.c @@ -1681,11 +1681,13 @@ static bool rtl8169_reset_counters(struct rtl8169_private *tp) static bool rtl8169_update_counters(struct rtl8169_private *tp) { + u8 val = RTL_R8(tp, ChipCmd); + /* * Some chips are unable to dump tally counters when the receiver - * is disabled. + * is disabled. If 0xff chip may be in a PCI power-save state. */ - if ((RTL_R8(tp, ChipCmd) & CmdRxEnb) == 0) + if (!(val & CmdRxEnb) || val == 0xff) return true; return rtl8169_do_counters(tp, CounterDump); |