summaryrefslogtreecommitdiff
path: root/target/linux/brcm47xx/patches-2.6.36/210-b44_phy_fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm47xx/patches-2.6.36/210-b44_phy_fix.patch')
-rw-r--r--target/linux/brcm47xx/patches-2.6.36/210-b44_phy_fix.patch37
1 files changed, 3 insertions, 34 deletions
diff --git a/target/linux/brcm47xx/patches-2.6.36/210-b44_phy_fix.patch b/target/linux/brcm47xx/patches-2.6.36/210-b44_phy_fix.patch
index 6dda4b4..ef023c5 100644
--- a/target/linux/brcm47xx/patches-2.6.36/210-b44_phy_fix.patch
+++ b/target/linux/brcm47xx/patches-2.6.36/210-b44_phy_fix.patch
@@ -1,35 +1,6 @@
--- a/drivers/net/b44.c
+++ b/drivers/net/b44.c
-@@ -381,11 +381,12 @@ static void b44_set_flow_ctrl(struct b44
- __b44_set_flow_ctrl(bp, pause_enab);
- }
-
--#ifdef SSB_DRIVER_MIPS
--extern char *nvram_get(char *name);
-+#ifdef CONFIG_BCM47XX
-+
-+#include <asm/mach-bcm47xx/nvram.h>
- static void b44_wap54g10_workaround(struct b44 *bp)
- {
-- const char *str;
-+ char buf[20];
- u32 val;
- int err;
-
-@@ -394,10 +395,9 @@ static void b44_wap54g10_workaround(stru
- * see https://dev.openwrt.org/ticket/146
- * check and reset bit "isolate"
- */
-- str = nvram_get("boardnum");
-- if (!str)
-+ if (nvram_getenv("boardnum", buf, sizeof(buf)) > 0)
- return;
-- if (simple_strtoul(str, NULL, 0) == 2) {
-+ if (simple_strtoul(buf, NULL, 0) == 2) {
- err = __b44_readphy(bp, 0, MII_BMCR, &val);
- if (err)
- goto error;
-@@ -412,10 +412,43 @@ static void b44_wap54g10_workaround(stru
+@@ -411,10 +411,41 @@ static void b44_wap54g10_workaround(stru
error:
pr_warning("PHY: cannot reset MII transceiver isolate bit\n");
}
@@ -60,9 +31,7 @@
+ }
+ return;
+}
-+
#else
-+
static inline void b44_wap54g10_workaround(struct b44 *bp)
{
}
@@ -73,7 +42,7 @@
#endif
static int b44_setup_phy(struct b44 *bp)
-@@ -424,6 +457,7 @@ static int b44_setup_phy(struct b44 *bp)
+@@ -423,6 +454,7 @@ static int b44_setup_phy(struct b44 *bp)
int err;
b44_wap54g10_workaround(bp);
@@ -81,7 +50,7 @@
if (bp->phy_addr == B44_PHY_ADDR_NO_PHY)
return 0;
-@@ -2089,6 +2123,8 @@ static int __devinit b44_get_invariants(
+@@ -2088,6 +2120,8 @@ static int __devinit b44_get_invariants(
* valid PHY address. */
bp->phy_addr &= 0x1F;