diff options
Diffstat (limited to 'drivers/net/au1000_eth.c')
-rw-r--r-- | drivers/net/au1000_eth.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/net/au1000_eth.c b/drivers/net/au1000_eth.c index 5a2efd343db4..c82b9cd1c924 100644 --- a/drivers/net/au1000_eth.c +++ b/drivers/net/au1000_eth.c | |||
@@ -1681,10 +1681,6 @@ static int au1000_init(struct net_device *dev) | |||
1681 | control |= MAC_FULL_DUPLEX; | 1681 | control |= MAC_FULL_DUPLEX; |
1682 | } | 1682 | } |
1683 | 1683 | ||
1684 | /* fix for startup without cable */ | ||
1685 | if (!link) | ||
1686 | dev->flags &= ~IFF_RUNNING; | ||
1687 | |||
1688 | aup->mac->control = control; | 1684 | aup->mac->control = control; |
1689 | aup->mac->vlan1_tag = 0x8100; /* activate vlan support */ | 1685 | aup->mac->vlan1_tag = 0x8100; /* activate vlan support */ |
1690 | au_sync(); | 1686 | au_sync(); |
@@ -1709,16 +1705,14 @@ static void au1000_timer(unsigned long data) | |||
1709 | if_port = dev->if_port; | 1705 | if_port = dev->if_port; |
1710 | if (aup->phy_ops->phy_status(dev, aup->phy_addr, &link, &speed) == 0) { | 1706 | if (aup->phy_ops->phy_status(dev, aup->phy_addr, &link, &speed) == 0) { |
1711 | if (link) { | 1707 | if (link) { |
1712 | if (!(dev->flags & IFF_RUNNING)) { | 1708 | if (!netif_carrier_ok(dev)) { |
1713 | netif_carrier_on(dev); | 1709 | netif_carrier_on(dev); |
1714 | dev->flags |= IFF_RUNNING; | ||
1715 | printk(KERN_INFO "%s: link up\n", dev->name); | 1710 | printk(KERN_INFO "%s: link up\n", dev->name); |
1716 | } | 1711 | } |
1717 | } | 1712 | } |
1718 | else { | 1713 | else { |
1719 | if (dev->flags & IFF_RUNNING) { | 1714 | if (netif_carrier_ok(dev)) { |
1720 | netif_carrier_off(dev); | 1715 | netif_carrier_off(dev); |
1721 | dev->flags &= ~IFF_RUNNING; | ||
1722 | dev->if_port = 0; | 1716 | dev->if_port = 0; |
1723 | printk(KERN_INFO "%s: link down\n", dev->name); | 1717 | printk(KERN_INFO "%s: link down\n", dev->name); |
1724 | } | 1718 | } |