r8169: wake up the PHY of the 8168
authorFrancois Romieu <romieu@fr.zoreil.com>
Wed, 3 Sep 2008 22:17:12 +0000 (00:17 +0200)
committerFrancois Romieu <romieu@fr.zoreil.com>
Fri, 10 Oct 2008 21:07:58 +0000 (23:07 +0200)
This is typically needed when some other OS puts the PHY
to sleep due to the disabling of WOL options in the BIOS
of the system.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Tested-by: Chiaki Ishikawa <chiaki.ishikawa@ubin.jp>
Cc: Edward Hsu <edward_hsu@realtek.com.tw>
Cc: RyanKao <ryankao@realtek.com.tw>
drivers/net/r8169.c

index 59fbc64d7c479636b033b60f8dc6e4a44046423c..9881563898d7058ac13884176f1ea4caa4c59e43 100644 (file)
@@ -865,9 +865,13 @@ static int rtl8169_set_speed_xmii(struct net_device *dev,
 
        auto_nego |= ADVERTISE_PAUSE_CAP | ADVERTISE_PAUSE_ASYM;
 
-       if ((tp->mac_version == RTL_GIGA_MAC_VER_12) ||
-           (tp->mac_version == RTL_GIGA_MAC_VER_17)) {
-               /* Vendor specific (0x1f) and reserved (0x0e) MII registers. */
+       if ((tp->mac_version == RTL_GIGA_MAC_VER_11) ||
+           (tp->mac_version == RTL_GIGA_MAC_VER_12) ||
+           (tp->mac_version >= RTL_GIGA_MAC_VER_17)) {
+               /*
+                * Wake up the PHY.
+                * Vendor specific (0x1f) and reserved (0x0e) MII registers.
+                */
                mdio_write(ioaddr, 0x1f, 0x0000);
                mdio_write(ioaddr, 0x0e, 0x0000);
        }