Shouldn't the e100 driver wait for PHY reset to complete before proceeding in e100_set_settings()?
I'm asking because the interface (82551) sometimes ends up in loopback when I try to set AUTONEG. I'm thinking something like this patch. Anders --- linux-2.6.18.orig/drivers/net/e100.c 2006-09-20 05:42:06.000000000 +0200 +++ linux-2.6.18/drivers/net/e100.c 2006-10-17 17:43:47.000000000 +0200 @@ -2201,8 +2201,16 @@ static int e100_set_settings(struct net_ { struct nic *nic = netdev_priv(netdev); int err; + int counter = 50; mdio_write(netdev, nic->mii.phy_id, MII_BMCR, BMCR_RESET); + + /* wait for possibly (ouch) 500ms */ + while (mdio_read(netdev, nic->mii.phy_id, MII_BMCR) & BMCR_RESET) { + msleep(10); + if (!--counter) break; + } + err = mii_ethtool_sset(&nic->mii, cmd); e100_exec_cb(nic, NULL, e100_configure); - 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