--- drivers/net/eepro100.c.orig Mon Jul 2 14:03:04 2001 +++ drivers/net/eepro100.c Fri Jul 20 13:28:20 2001 @@ -976,6 +976,11 @@ if ((sp->phy[0] & 0x8000) == 0) sp->advertising = mdio_read(ioaddr, sp->phy[0] & 0x1f, 4); + if (mdio_read(ioaddr, sp->phy[0], 1) & 0x0004) + netif_carrier_on(dev); + else + netif_carrier_off(dev); + if (speedo_debug > 2) { printk(KERN_DEBUG "%s: Done speedo_open(), status %8.8x.\n", dev->name, inw(ioaddr + SCBStatus)); @@ -1088,9 +1093,9 @@ mdio_read(ioaddr, phy_num, 1); /* If link beat has returned... */ if (mdio_read(ioaddr, phy_num, 1) & 0x0004) - dev->flags |= IFF_RUNNING; + netif_carrier_on(dev); else - dev->flags &= ~IFF_RUNNING; + netif_carrier_off(dev); } } if (speedo_debug > 3) {