diff options
author | Heiner Kallweit <hkallweit1@gmail.com> | 2019-07-26 20:56:20 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-07-27 14:23:14 -0700 |
commit | edcde3ee579bcac75ceb47758f18d2b1d26a39f8 (patch) | |
tree | 9ade8f2d56b85b2fb0f01bae0c31fe537424613c /drivers/net/ethernet/realtek/r8169_main.c | |
parent | 91c6bfb8315b05d0c3aa8c2cfc172888d05e31d5 (diff) | |
download | linux-edcde3ee579bcac75ceb47758f18d2b1d26a39f8.tar.bz2 |
r8169: align setting PME with vendor driver
Align setting PME with the vendor driver. PMEnable is writable on
RTL8169 only, on later chip versions it's read-only. PME_SIGNAL is
used on chip versions from RTL8168evl with the exception of the
RTL8168f family.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/realtek/r8169_main.c')
-rw-r--r-- | drivers/net/ethernet/realtek/r8169_main.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c index e1e1c89fbe3d..5c337234b7bc 100644 --- a/drivers/net/ethernet/realtek/r8169_main.c +++ b/drivers/net/ethernet/realtek/r8169_main.c @@ -1414,18 +1414,22 @@ static void __rtl8169_set_wol(struct rtl8169_private *tp, u32 wolopts) } switch (tp->mac_version) { - case RTL_GIGA_MAC_VER_02 ... RTL_GIGA_MAC_VER_17: + case RTL_GIGA_MAC_VER_02 ... RTL_GIGA_MAC_VER_06: options = RTL_R8(tp, Config1) & ~PMEnable; if (wolopts) options |= PMEnable; RTL_W8(tp, Config1, options); break; - default: + case RTL_GIGA_MAC_VER_34: + case RTL_GIGA_MAC_VER_37: + case RTL_GIGA_MAC_VER_39 ... RTL_GIGA_MAC_VER_51: options = RTL_R8(tp, Config2) & ~PME_SIGNAL; if (wolopts) options |= PME_SIGNAL; RTL_W8(tp, Config2, options); break; + default: + break; } rtl_lock_config_regs(tp); |