Here's another patch to try, for PNIC. Feedback welcome. -- Jeff Garzik | Game called on account of naked chick Building 1024 | MandrakeSoft |
diff -ur 2.4/drivers/net/tulip/media.c build-2.4/drivers/net/tulip/media.c --- 2.4/drivers/net/tulip/media.c Fri May 11 22:12:51 2001 +++ build-2.4/drivers/net/tulip/media.c Fri May 11 22:10:03 2001 @@ -409,8 +409,6 @@ struct tulip_private *tp = dev->priv; unsigned int bmsr, lpa, negotiated, new_csr6; - if (tp->full_duplex_lock) - return 0; bmsr = tulip_mdio_read(dev, tp->phys[0], MII_BMSR); lpa = tulip_mdio_read(dev, tp->phys[0], MII_LPA); if (tulip_debug > 1) @@ -428,7 +426,7 @@ } } negotiated = lpa & tp->advertising[0]; - tp->full_duplex = (mii_nway_result(negotiated) & LPA_DUPLEX) ? 1 : 0; + tp->full_duplex = tp->full_duplex_lock | (mii_nway_result(negotiated) & +LPA_DUPLEX) ? 1 : 0; new_csr6 = tp->csr6;