aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorRoger So <roger.so@gmail.com>2007-07-31 23:52:42 +0200
committerFrancois Romieu <romieu@electric-eye.fr.zoreil.com>2007-08-06 23:58:02 +0200
commit2584fbc3a61897de5eddd56b39a4fa9cd074eca2 (patch)
treeb433f8f29ccc9565b79cf6c7d38dc1460f28c39e /drivers
parentFix a potential NULL pointer dereference in mace_interrupt() in drivers/net/pcmcia/nmclan_cs.c (diff)
downloadlinux-dev-2584fbc3a61897de5eddd56b39a4fa9cd074eca2.tar.xz
linux-dev-2584fbc3a61897de5eddd56b39a4fa9cd074eca2.zip
r8169: PHY power-on fix
Fix extracted from Realtek's driver (8.002.00/20070713) for the PHY attached to 8111/8168b chipsets. The check against mac_version is just usual paranoia during the bugfix period of the kernel cycle. -- FR Tested on Asus M2A-VM motherboard by Roger So. No regression on my Asrock 945G DVI either (built-in 8168 + 2x8169). Signed-off-by: Roger So <roger.so@gmail.com> Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Cc: Edward Hsu <edward_hsu@realtek.com.tw>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/r8169.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index bb6896ae3151..ec4f545c491f 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -725,6 +725,12 @@ 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) {
+ /* Vendor specific (0x1f) and reserved (0x0e) MII registers. */
+ mdio_write(ioaddr, 0x1f, 0x0000);
+ mdio_write(ioaddr, 0x0e, 0x0000);
+ }
+
tp->phy_auto_nego_reg = auto_nego;
tp->phy_1000_ctrl_reg = giga_ctrl;