]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
r8169: 8168c and later require bit 0x20 to be set in Config2 for PME signaling.
authorFrancois Romieu <romieu@fr.zoreil.com>
Tue, 17 Apr 2012 09:12:01 +0000 (11:12 +0200)
committerJoe Jin <joe.jin@oracle.com>
Wed, 29 Aug 2012 00:22:18 +0000 (08:22 +0800)
The new 84xx stopped flying below the radars.

(cherry picked from commit d387b427c973974dd619a33549c070ac5d0e089f)
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: Joe Jin <joe.jin@oracle.com>
drivers/net/r8169.c

index 343eeef8704f6e4d76ed74f4dcc0f98dbeba40d3..8e43471023eca6e66cb2078f81fb65eb02adc33c 100644 (file)
@@ -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;
        }