• R/O
  • HTTP
  • SSH
  • HTTPS

linux-2.4.36: Commit

2.4.36-stable kernel tree


Commit MetaInfo

Revision577076a6afb56f56ff523d782043b2baf8d188a2 (tree)
Zeit2007-08-05 05:29:57
AutorMarc Haisenko <haisenko@comd...>
CommiterWilly Tarreau

Log Message

[PATCH] b44: fix force mac address before ifconfig up

Hi Willy,
I discovered that a bug in the Broadcom driver that has been fixed in the 2.6
tree is still present in 2.4 (up to 2.4.35). In our case it resulted in a
complete system crash when starting the net-snmp daemon (not even a kernel
panic is seen; the system is just gone).

The patch is rather trivial, here's the link to the patch from the netdev
tree:

It applies cleanly to 2.4.35 (with fuzz offset, of course :-)

Bye,

Marc

--
Marc Haisenko
Comdasys AG


From: Gary Zambrano <zambrano@broadcom.com>
Date: Wed, 29 Mar 2006 22:12:05 -0500
Subject: b44: fix force mac address before ifconfig up

Initializing the b44 MAC & PCI functional blocks in the controller must
occur inside init_one(). This will allow access to the MAC registers.
The controller was being powered up in b44_open() which would not allow
access to the registers before ifconfig was up.
Philip Kohlbecher found this bug.

Signed-off-by: Gary Zambrano <zambrano@broadcom.com>

Ändern Zusammenfassung

Diff

--- a/drivers/net/b44.c
+++ b/drivers/net/b44.c
@@ -1829,6 +1829,11 @@ static int __devinit b44_init_one(struct pci_dev *pdev,
18291829
18301830 pci_save_state(bp->pdev, bp->pci_cfg_state);
18311831
1832+ /* Chip reset provides power to the b44 MAC & PCI cores, which
1833+ * is necessary for MAC register access.
1834+ */
1835+ b44_chip_reset(bp);
1836+
18321837 printk(KERN_INFO "%s: Broadcom 4400 10/100BaseT Ethernet ", dev->name);
18331838 for (i = 0; i < 6; i++)
18341839 printk("%2.2x%c", dev->dev_addr[i],
Show on old repository browser