summaryrefslogtreecommitdiff
path: root/target/linux/brcm47xx
diff options
context:
space:
mode:
authorhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>2014-02-23 16:58:12 +0000
committerhauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73>2014-02-23 16:58:12 +0000
commit843a74998493d5232183ce1d4b063eb58c573c5c (patch)
treea4b0bf055cccd9aa334a4bb95c8a0ab6f214c69c /target/linux/brcm47xx
parentb1d1631b3f4f159ab6b0bd408c853421e8af8f92 (diff)
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> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39719 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm47xx')
-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);