diff options
author | Roger So <roger.so@gmail.com> | 2007-07-31 23:52:42 +0200 |
---|---|---|
committer | Francois Romieu <romieu@electric-eye.fr.zoreil.com> | 2007-08-06 23:58:02 +0200 |
commit | 2584fbc3a61897de5eddd56b39a4fa9cd074eca2 (patch) | |
tree | b433f8f29ccc9565b79cf6c7d38dc1460f28c39e | |
parent | c196d80f994ef4ffefd5a7c62e3f42bd75d538bc (diff) | |
download | op-kernel-dev-2584fbc3a61897de5eddd56b39a4fa9cd074eca2.zip op-kernel-dev-2584fbc3a61897de5eddd56b39a4fa9cd074eca2.tar.gz |
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>
-rw-r--r-- | drivers/net/r8169.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index bb6896a..ec4f545 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; |