Skip to content

Commit

Permalink
[PATCH] b44: fix laptop carrier detect
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Stephen Hemminger authored and Jeff Garzik committed Jan 27, 2006
1 parent 6f9d472 commit c35ca39
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions drivers/net/b44.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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);

Expand Down Expand Up @@ -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, "
Expand Down

0 comments on commit c35ca39

Please sign in to comment.