--- linux-2.4.20/drivers/net/e100/e100_phy.c 2002-11-29 01:53:13.000000000 +0200 +++ linux-2.4.20-test/drivers/net/e100/e100_phy.c 2003-02-05 09:38:07.000000000 +0200 @@ -963,14 +963,16 @@ /* Logical AND PHY link & netif_running */ link = e100_get_link_state(bdp) && netif_running(bdp->device); - - if (link) { - if (!netif_carrier_ok(bdp->device)) - netif_carrier_on(bdp->device); - } else { - if (netif_carrier_ok(bdp->device)) - netif_carrier_off(bdp->device); - } +#ifdef CONFIG_NET_CARRIER_NETLINK + if (bdp->device->carrier_task) +#endif + if (link) { + if (!netif_carrier_ok(bdp->device)) + netif_carrier_on(bdp->device); + } else { + if (netif_carrier_ok(bdp->device)) + netif_carrier_off(bdp->device); + } return link; }