aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2014-02-23 16:58:12 +0000
committerHauke Mehrtens <hauke@hauke-m.de>2014-02-23 16:58:12 +0000
commitf587bacc264012658b9f629300cc9a46100c2e5a (patch)
tree8c44595c24d46a2c83050c1795c6d2a5b6428cb6
parent15a7efa1196a350c9739cba97b918c49089abdeb (diff)
downloadupstream-f587bacc264012658b9f629300cc9a46100c2e5a.tar.gz
upstream-f587bacc264012658b9f629300cc9a46100c2e5a.tar.bz2
upstream-f587bacc264012658b9f629300cc9a46100c2e5a.zip
brcm47xx: b44: start the phy
We did not start the PHY when an external phy was in use. Without this patch the driver uses half duplex mode and the switch uses full duplex mode, which causes problems. Thank you fback for spotting this problem. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 39719
-rw-r--r--target/linux/brcm47xx/patches-3.10/211-b44-start_phy.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/target/linux/brcm47xx/patches-3.10/211-b44-start_phy.patch b/target/linux/brcm47xx/patches-3.10/211-b44-start_phy.patch
new file mode 100644
index 0000000000..4668f16681
--- /dev/null
+++ b/target/linux/brcm47xx/patches-3.10/211-b44-start_phy.patch
@@ -0,0 +1,23 @@
+--- a/drivers/net/ethernet/broadcom/b44.c
++++ b/drivers/net/ethernet/broadcom/b44.c
+@@ -1511,6 +1511,10 @@ static int b44_open(struct net_device *d
+ add_timer(&bp->timer);
+
+ b44_enable_ints(bp);
++
++ if (bp->flags & B44_FLAG_EXTERNAL_PHY)
++ phy_start(bp->phydev);
++
+ netif_start_queue(dev);
+ out:
+ return err;
+@@ -1673,6 +1677,9 @@ static int b44_close(struct net_device *
+
+ netif_stop_queue(dev);
+
++ if (bp->flags & B44_FLAG_EXTERNAL_PHY)
++ phy_stop(bp->phydev);
++
+ napi_disable(&bp->napi);
+
+ del_timer_sync(&bp->timer);