From: Francois Romieu Date: Tue, 17 Apr 2012 09:12:01 +0000 (+0200) Subject: r8169: 8168c and later require bit 0x20 to be set in Config2 for PME signaling. X-Git-Tag: v2.6.39-400.9.0~338^2~20 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=6ae4d6771310912f0b4e0b567d5bc424c8b76193;p=users%2Fjedix%2Flinux-maple.git r8169: 8168c and later require bit 0x20 to be set in Config2 for PME signaling. The new 84xx stopped flying below the radars. (cherry picked from commit d387b427c973974dd619a33549c070ac5d0e089f) Signed-off-by: Francois Romieu Cc: Hayes Wang Signed-off-by: Joe Jin --- diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index 343eeef8704f..8e43471023ec 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c @@ -319,6 +319,8 @@ enum rtl_registers { Config0 = 0x51, Config1 = 0x52, Config2 = 0x53, +#define PME_SIGNAL (1 << 5) /* 8168c and later */ + Config3 = 0x54, Config4 = 0x55, Config5 = 0x56, @@ -1426,6 +1428,10 @@ static void __rtl8169_set_wol(struct rtl8169_private *tp, u32 wolopts) RTL_W8(Config1, options); break; default: + options = RTL_R8(Config2) & ~PME_SIGNAL; + if (wolopts) + options |= PME_SIGNAL; + RTL_W8(Config2, options); break; }