diff --git a/openwrt/target/linux/brcm-2.6/patches/004-b44_bcm47xx_support.patch b/openwrt/target/linux/brcm-2.6/patches/004-b44_bcm47xx_support.patch index a95b2fedba..b24480763f 100644 --- a/openwrt/target/linux/brcm-2.6/patches/004-b44_bcm47xx_support.patch +++ b/openwrt/target/linux/brcm-2.6/patches/004-b44_bcm47xx_support.patch @@ -1,6 +1,6 @@ diff -urN linux.old/drivers/net/b44.c linux.dev/drivers/net/b44.c --- linux.old/drivers/net/b44.c 2006-01-16 20:35:09.203794500 +0100 -+++ linux.dev/drivers/net/b44.c 2006-01-16 20:40:29.023782000 +0100 ++++ linux.dev/drivers/net/b44.c 2006-01-16 22:20:45.631180500 +0100 @@ -1,7 +1,9 @@ -/* b44.c: Broadcom 4400 device driver. +/* b44.c: Broadcom 4400/47xx device driver. @@ -562,7 +562,7 @@ diff -urN linux.old/drivers/net/b44.c linux.dev/drivers/net/b44.c out: return err; } -@@ -1865,22 +2243,54 @@ +@@ -1865,22 +2243,55 @@ static int __devinit b44_get_invariants(struct b44 *bp) { u8 eeprom[128]; @@ -579,10 +579,12 @@ diff -urN linux.old/drivers/net/b44.c linux.dev/drivers/net/b44.c - bp->dev->dev_addr[4] = eeprom[83]; - bp->dev->dev_addr[5] = eeprom[82]; - memcpy(bp->dev->perm_addr, bp->dev->dev_addr, bp->dev->addr_len); +- +- bp->phy_addr = eeprom[90] & 0x1f; + u8 buf[32]; + int err = 0; - -- bp->phy_addr = eeprom[90] & 0x1f; ++ unsigned long flags; ++ +#ifdef CONFIG_BCM947XX + if (bp->pdev->device == PCI_DEVICE_ID_BCM4713) { + /* @@ -631,7 +633,7 @@ diff -urN linux.old/drivers/net/b44.c linux.dev/drivers/net/b44.c /* With this, plus the rx_header prepended to the data by the * hardware, we'll land the ethernet header on a 2-byte boundary. */ -@@ -1889,11 +2299,7 @@ +@@ -1889,11 +2300,7 @@ bp->imask = IMASK_DEF; bp->core_unit = ssb_core_unit(bp); @@ -643,7 +645,7 @@ diff -urN linux.old/drivers/net/b44.c linux.dev/drivers/net/b44.c out: return err; } -@@ -2032,11 +2438,17 @@ +@@ -2032,11 +2439,17 @@ pci_save_state(bp->pdev);