summaryrefslogtreecommitdiffstats
path: root/drivers/net/r8169.c
diff options
context:
space:
mode:
authorAndy Gospodarek <andy@greyhouse.net>2006-01-31 19:16:52 +0100
committerFrancois Romieu <romieu@fr.zoreil.com>2006-01-31 19:16:52 +0100
commit726ecdcf688314aa8d4a4841f5f126c2cb4ecbf5 (patch)
tree60135898b5f8b584bcb4925b450b2f1b4b60ac38 /drivers/net/r8169.c
parentr8169: prevent excessive busy-waiting (diff)
downloadlinux-726ecdcf688314aa8d4a4841f5f126c2cb4ecbf5.tar.xz
linux-726ecdcf688314aa8d4a4841f5f126c2cb4ecbf5.zip
r8169: fix forced-mode link settings
Allow the r8169 driver to set devices to be full-duplex only when auto-negotiate is disabled. Signed-off-by: Andy Gospodarek <andy@greyhouse.net> Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Diffstat (limited to 'drivers/net/r8169.c')
-rw-r--r--drivers/net/r8169.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index a81338b501fb..6e1018448eea 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -675,6 +675,9 @@ static int rtl8169_set_speed_xmii(struct net_device *dev,
if (duplex == DUPLEX_HALF)
auto_nego &= ~(PHY_Cap_10_Full | PHY_Cap_100_Full);
+
+ if (duplex == DUPLEX_FULL)
+ auto_nego &= ~(PHY_Cap_10_Half | PHY_Cap_100_Half);
}
tp->phy_auto_nego_reg = auto_nego;