From: Hayes Wang Date: Tue, 6 Sep 2011 08:55:14 +0000 (+0800) Subject: r8169: fix WOL setting for 8105 and 8111evl X-Git-Tag: v2.6.39-400.9.0~423^2~19^2~11^2~48 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=c43feecc7858810bd331c586a785306bad694e8f;p=users%2Fjedix%2Flinux-maple.git r8169: fix WOL setting for 8105 and 8111evl rtl8105, rtl8111E, and rtl8111evl need enable RxConfig bit 1 ~ 3 for supporting wake on lan. Signed-off-by: Hayes Wang (cherry picked from commit 106633897e086e1b47126996aac1a427eb80eb1b) Signed-off-by: Joe Jin --- diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index 4c2c35316ddd..6608cd600f19 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c @@ -3226,9 +3226,16 @@ static void r810x_phy_power_up(struct rtl8169_private *tp) static void r810x_pll_power_down(struct rtl8169_private *tp) { + void __iomem *ioaddr = tp->mmio_addr; + if (__rtl8169_get_wol(tp) & WAKE_ANY) { rtl_writephy(tp, 0x1f, 0x0000); rtl_writephy(tp, MII_BMCR, 0x0000); + + if (tp->mac_version == RTL_GIGA_MAC_VER_29 || + tp->mac_version == RTL_GIGA_MAC_VER_30) + RTL_W32(RxConfig, RTL_R32(RxConfig) | AcceptBroadcast | + AcceptMulticast | AcceptMyPhys); return; } @@ -3324,7 +3331,8 @@ static void r8168_pll_power_down(struct rtl8169_private *tp) rtl_writephy(tp, MII_BMCR, 0x0000); if (tp->mac_version == RTL_GIGA_MAC_VER_32 || - tp->mac_version == RTL_GIGA_MAC_VER_33) + tp->mac_version == RTL_GIGA_MAC_VER_33 || + tp->mac_version == RTL_GIGA_MAC_VER_34) RTL_W32(RxConfig, RTL_R32(RxConfig) | AcceptBroadcast | AcceptMulticast | AcceptMyPhys); return;