From 2c5e4aa6add7eefb6663893a47cc6ffbb0241c68 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 6 Oct 2013 18:31:32 +0000 Subject: brcm47xx: b44: fix some problems with the phy * do not try initialize a unused phy * some improvements to the phylib patch * do not turn the phy off when mac is off Signed-off-by: Hauke Mehrtens SVN-Revision: 38306 --- target/linux/brcm47xx/patches-3.10/210-b44_phy_fix.patch | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'target/linux/brcm47xx/patches-3.10/210-b44_phy_fix.patch') diff --git a/target/linux/brcm47xx/patches-3.10/210-b44_phy_fix.patch b/target/linux/brcm47xx/patches-3.10/210-b44_phy_fix.patch index 8cf4b0f00c..1cafb86512 100644 --- a/target/linux/brcm47xx/patches-3.10/210-b44_phy_fix.patch +++ b/target/linux/brcm47xx/patches-3.10/210-b44_phy_fix.patch @@ -1,6 +1,6 @@ --- a/drivers/net/ethernet/broadcom/b44.c +++ b/drivers/net/ethernet/broadcom/b44.c -@@ -410,10 +410,34 @@ static void b44_wap54g10_workaround(stru +@@ -429,10 +429,34 @@ static void b44_wap54g10_workaround(stru error: pr_warning("PHY: cannot reset MII transceiver isolate bit\n"); } @@ -12,14 +12,14 @@ + + /* Toshiba WRC-1000, Siemens SE505 v1, Askey RT-210W, RT-220W */ + if (sdev->bus->sprom.board_num == 100) { -+ bp->phy_addr = B44_PHY_ADDR_NO_PHY; ++ bp->phy_addr = B44_PHY_ADDR_NO_LOACL_PHY; + } else { + /* WL-HDD */ + if (bcm47xx_nvram_getenv("hardware_version", buf, sizeof(buf)) >= 0 && + !strncmp(buf, "WL300-", strlen("WL300-"))) { + if (sdev->bus->sprom.et0phyaddr == 0 && + sdev->bus->sprom.et1phyaddr == 1) -+ bp->phy_addr = B44_PHY_ADDR_NO_PHY; ++ bp->phy_addr = B44_PHY_ADDR_NO_LOACL_PHY; + } + } + return; @@ -35,15 +35,15 @@ #endif static int b44_setup_phy(struct b44 *bp) -@@ -422,6 +446,7 @@ static int b44_setup_phy(struct b44 *bp) +@@ -441,6 +465,7 @@ static int b44_setup_phy(struct b44 *bp) int err; b44_wap54g10_workaround(bp); + b44_bcm47xx_workarounds(bp); - if (bp->phy_addr == B44_PHY_ADDR_NO_PHY) + if (bp->phy_addr == B44_PHY_ADDR_NO_LOACL_PHY) return 0; -@@ -2101,6 +2126,8 @@ static int b44_get_invariants(struct b44 +@@ -2158,6 +2183,8 @@ static int b44_get_invariants(struct b44 * valid PHY address. */ bp->phy_addr &= 0x1F; -- cgit v1.2.3