Datasheet says, page: 98 -> http://www.smsc.com/main/datasheets/9115.pdf
"MAC_CR_RCVOWN_ should be reset when the Full
Duplex Mode bit is set" and "When MAC_CR_FDPX_ set, the MAC operates in
Full-Duplex mode, in which it can transmit and receive simultaneously."
Signed-off-by: Bora Sahin <[EMAIL PROTECTED]>
Index: linux-2.6.18-rc4/drivers/net/smc911x.c
===================================================================
--- linux-2.6.18-rc4.orig/drivers/net/smc911x.c 2006-08-06 21:20:11.000000000
+0300
+++ linux-2.6.18-rc4/drivers/net/smc911x.c 2006-09-04 13:54:26.621458832
+0300
@@ -927,14 +923,15 @@
/* duplex state has changed */
SMC_GET_PHY_BMCR(phyaddr, bmcr);
SMC_GET_MAC_CR(cr);
+ cr &= ~(MAC_CR_RCVOWN_ | MAC_CR_FDPX_);
if (lp->mii.full_duplex) {
DBG(SMC_DEBUG_MISC, "%s: Configuring for full-duplex
mode\n", dev->name);
bmcr |= BMCR_FULLDPLX;
- cr |= MAC_CR_RCVOWN_;
+ cr |= MAC_CR_FDPX_;
} else {
DBG(SMC_DEBUG_MISC, "%s: Configuring for half-duplex
mode\n", dev->name);
bmcr &= ~BMCR_FULLDPLX;
- cr &= ~MAC_CR_RCVOWN_;
+ cr |= MAC_CR_RCVOWN_;
}
SMC_SET_PHY_BMCR(phyaddr, bmcr);
SMC_SET_MAC_CR(cr);
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html