aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGary Zambrano <zambrano@broadcom.com>2006-03-29 17:12:05 -0500
committerJeff Garzik <jeff@garzik.org>2006-03-29 17:12:05 -0500
commit5c5131297db57b501f371ab53c40343eac6f2af7 (patch)
treefa0ad95f0324720c5a18f7138e84d7ef4dd83525
parentf3cab8a0b1a772dc8b055b7affa567a366627c9e (diff)
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>
-rw-r--r--drivers/net/b44.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/b44.c b/drivers/net/b44.c
index c3267e4e1bb0..2eab2a88c7bf 100644
--- a/drivers/net/b44.c
+++ b/drivers/net/b44.c
@@ -2033,6 +2033,11 @@ static int __devinit b44_init_one(struct pci_dev *pdev,
2033 2033
2034 pci_save_state(bp->pdev); 2034 pci_save_state(bp->pdev);
2035 2035
2036 /* Chip reset provides power to the b44 MAC & PCI cores, which
2037 * is necessary for MAC register access.
2038 */
2039 b44_chip_reset(bp);
2040
2036 printk(KERN_INFO "%s: Broadcom 4400 10/100BaseT Ethernet ", dev->name); 2041 printk(KERN_INFO "%s: Broadcom 4400 10/100BaseT Ethernet ", dev->name);
2037 for (i = 0; i < 6; i++) 2042 for (i = 0; i < 6; i++)
2038 printk("%2.2x%c", dev->dev_addr[i], 2043 printk("%2.2x%c", dev->dev_addr[i],