aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/r8169.c
diff options
context:
space:
mode:
authorFrancois Romieu <romieu@fr.zoreil.com>2007-03-08 23:59:54 +0100
committerJeff Garzik <jeff@garzik.org>2007-03-09 11:51:32 -0500
commit9e0db8ef4a8c8fd6f3a506259975d7f8db962421 (patch)
tree5a822ac593b4ac190d550bc6488eb88a50364769 /drivers/net/r8169.c
parentsky2: turn off Rx checksum on bad hardware (diff)
downloadlinux-dev-9e0db8ef4a8c8fd6f3a506259975d7f8db962421.tar.xz
linux-dev-9e0db8ef4a8c8fd6f3a506259975d7f8db962421.zip
r8169: revert bogus BMCR reset
Added during bf793295e1090af84972750898bf8470df5e5419 The current code requests a reset but prohibits autoneg, 1000 Mb/s, 100 Mb/s and full duplex. The 8168 does not like it at all. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/r8169.c')
-rw-r--r--drivers/net/r8169.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index 15d954e50cae..6693a305bcce 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -572,8 +572,8 @@ static void rtl8169_xmii_reset_enable(void __iomem *ioaddr)
{
unsigned int val;
- mdio_write(ioaddr, MII_BMCR, BMCR_RESET);
- val = mdio_read(ioaddr, MII_BMCR);
+ val = mdio_read(ioaddr, MII_BMCR) | BMCR_RESET;
+ mdio_write(ioaddr, MII_BMCR, val & 0xffff);
}
static void rtl8169_check_link_status(struct net_device *dev,