summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2006-01-20 21:13:17 -0800
committerJeff Garzik <jgarzik@pobox.com>2006-01-26 22:10:39 -0500
commitc35ca399e09828f3f6b40c0007a95a6582d90347 (patch)
tree4606c4f3680be2e699562750bcd74896445a4883 /drivers
parent6f9d47220eb2d1b17a0a3ecaf1b564ff95b8393d (diff)
downloadlinux-c35ca399e09828f3f6b40c0007a95a6582d90347.tar.gz
linux-c35ca399e09828f3f6b40c0007a95a6582d90347.tar.bz2
linux-c35ca399e09828f3f6b40c0007a95a6582d90347.zip
[PATCH] b44: fix laptop carrier detect
On my laptop, the b44 device is created and the carrier state defaults to ON when created by alloc_etherdev. This means tools like NetworkManager see the carrier as On and try and bring the device up. The correct thing to do is mark the carrier as Off when device is created. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/b44.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/b44.c b/drivers/net/b44.c
index df9d6e80c4f2..c3267e4e1bb0 100644
--- a/drivers/net/b44.c
+++ b/drivers/net/b44.c
@@ -1399,7 +1399,6 @@ static int b44_open(struct net_device *dev)
b44_init_rings(bp);
b44_init_hw(bp);
- netif_carrier_off(dev);
b44_check_phy(bp);
err = request_irq(dev->irq, b44_interrupt, SA_SHIRQ, dev->name, dev);
@@ -1464,7 +1463,7 @@ static int b44_close(struct net_device *dev)
#endif
b44_halt(bp);
b44_free_rings(bp);
- netif_carrier_off(bp->dev);
+ netif_carrier_off(dev);
spin_unlock_irq(&bp->lock);
@@ -2000,6 +1999,8 @@ static int __devinit b44_init_one(struct pci_dev *pdev,
dev->irq = pdev->irq;
SET_ETHTOOL_OPS(dev, &b44_ethtool_ops);
+ netif_carrier_off(dev);
+
err = b44_get_invariants(bp);
if (err) {
printk(KERN_ERR PFX "Problem fetching invariants of chip, "