aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm47xx/patches-2.6.30/210-b44_phy_fix.patch
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@openwrt.org>2009-06-13 21:20:53 +0000
committerHauke Mehrtens <hauke@openwrt.org>2009-06-13 21:20:53 +0000
commit35224d128e2010a9d79d805f2f4148f747fb617a (patch)
tree0276abfb54835688e678419ad60b71745cd78490 /target/linux/brcm47xx/patches-2.6.30/210-b44_phy_fix.patch
parent3e07dd160320417e381f6075cc57847b1fb5c937 (diff)
downloadmaster-187ad058-35224d128e2010a9d79d805f2f4148f747fb617a.tar.gz
master-187ad058-35224d128e2010a9d79d805f2f4148f747fb617a.tar.bz2
master-187ad058-35224d128e2010a9d79d805f2f4148f747fb617a.zip
[brcm47xx] Port to kernel 2.6.30.
There is an error in the unlzma system in the kernel. A lzma compressed squashfs filesystem does not work for me. This should compile and works for me on my Asus WL-500GP, please test it on more systems. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16441 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm47xx/patches-2.6.30/210-b44_phy_fix.patch')
-rw-r--r--target/linux/brcm47xx/patches-2.6.30/210-b44_phy_fix.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/target/linux/brcm47xx/patches-2.6.30/210-b44_phy_fix.patch b/target/linux/brcm47xx/patches-2.6.30/210-b44_phy_fix.patch
new file mode 100644
index 0000000000..51b65afa6b
--- /dev/null
+++ b/target/linux/brcm47xx/patches-2.6.30/210-b44_phy_fix.patch
@@ -0,0 +1,22 @@
+--- a/drivers/net/b44.c
++++ b/drivers/net/b44.c
+@@ -339,7 +339,7 @@ static int b44_phy_reset(struct b44 *bp)
+ }
+ }
+
+- return 0;
++ return err;
+ }
+
+ static void __b44_set_flow_ctrl(struct b44 *bp, u32 pause_flags)
+@@ -2220,6 +2220,10 @@ static int __devinit b44_init_one(struct
+ */
+ b44_chip_reset(bp, B44_CHIP_RESET_FULL);
+
++ /* do a phy reset to test if there is an active phy */
++ if (b44_phy_reset(bp) < 0)
++ bp->phy_addr = B44_PHY_ADDR_NO_PHY;
++
+ printk(KERN_INFO "%s: Broadcom 44xx/47xx 10/100BaseT Ethernet %pM\n",
+ dev->name, dev->dev_addr);
+