aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHayes Wang <hayeswang@realtek.com>2011-09-06 04:55:14 -0400
committerFrancois Romieu <romieu@fr.zoreil.com>2011-09-17 05:37:48 -0400
commit106633897e086e1b47126996aac1a427eb80eb1b (patch)
tree51dca62524da7913f88810f4774e5faa62c3fc5b
parentbbb8af75d0a6a5138ff00fe0b1b95c4824effd55 (diff)
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 <hayeswang@realtek.com>
-rw-r--r--drivers/net/r8169.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index b55fba7f3a04..78c1d5832792 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -3320,9 +3320,16 @@ static void r810x_phy_power_up(struct rtl8169_private *tp)
3320 3320
3321static void r810x_pll_power_down(struct rtl8169_private *tp) 3321static void r810x_pll_power_down(struct rtl8169_private *tp)
3322{ 3322{
3323 void __iomem *ioaddr = tp->mmio_addr;
3324
3323 if (__rtl8169_get_wol(tp) & WAKE_ANY) { 3325 if (__rtl8169_get_wol(tp) & WAKE_ANY) {
3324 rtl_writephy(tp, 0x1f, 0x0000); 3326 rtl_writephy(tp, 0x1f, 0x0000);
3325 rtl_writephy(tp, MII_BMCR, 0x0000); 3327 rtl_writephy(tp, MII_BMCR, 0x0000);
3328
3329 if (tp->mac_version == RTL_GIGA_MAC_VER_29 ||
3330 tp->mac_version == RTL_GIGA_MAC_VER_30)
3331 RTL_W32(RxConfig, RTL_R32(RxConfig) | AcceptBroadcast |
3332 AcceptMulticast | AcceptMyPhys);
3326 return; 3333 return;
3327 } 3334 }
3328 3335
@@ -3418,7 +3425,8 @@ static void r8168_pll_power_down(struct rtl8169_private *tp)
3418 rtl_writephy(tp, MII_BMCR, 0x0000); 3425 rtl_writephy(tp, MII_BMCR, 0x0000);
3419 3426
3420 if (tp->mac_version == RTL_GIGA_MAC_VER_32 || 3427 if (tp->mac_version == RTL_GIGA_MAC_VER_32 ||
3421 tp->mac_version == RTL_GIGA_MAC_VER_33) 3428 tp->mac_version == RTL_GIGA_MAC_VER_33 ||
3429 tp->mac_version == RTL_GIGA_MAC_VER_34)
3422 RTL_W32(RxConfig, RTL_R32(RxConfig) | AcceptBroadcast | 3430 RTL_W32(RxConfig, RTL_R32(RxConfig) | AcceptBroadcast |
3423 AcceptMulticast | AcceptMyPhys); 3431 AcceptMulticast | AcceptMyPhys);
3424 return; 3432 return;