From: Steffen Klassert Date: Fri, 10 Aug 2007 21:05:26 +0000 (-0700) Subject: 3c59x: fix duplex configuration X-Git-Tag: v2.6.23-rc4~138^2~3 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=373492d0bdc66680ee598fd5a63e1914631b2522;p=linux-2.6 3c59x: fix duplex configuration A special sequence of ifconfig up/down and plug/unplug the cable can break the duplex configuration of the driver. Setting vp->mii.full_duplex = vp->full_duplex in vortex_up should fix this. Addresses Bug 8575 3c59x duplex configuration broken http://bugzilla.kernel.org/show_bug.cgi?id=8575 Cc: Martin Buck Signed-off-by: Steffen Klassert Cc: Natalie Protasevich Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c index 001c66dd3a..a8c0f436cd 100644 --- a/drivers/net/3c59x.c +++ b/drivers/net/3c59x.c @@ -1555,6 +1555,7 @@ vortex_up(struct net_device *dev) mii_reg1 = mdio_read(dev, vp->phys[0], MII_BMSR); mii_reg5 = mdio_read(dev, vp->phys[0], MII_LPA); vp->partner_flow_ctrl = ((mii_reg5 & 0x0400) != 0); + vp->mii.full_duplex = vp->full_duplex; vortex_check_media(dev, 1); }