aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@openwrt.org>2014-02-23 16:58:12 +0000
committerHauke Mehrtens <hauke@openwrt.org>2014-02-23 16:58:12 +0000
commit278803f5ca0c072f0d9c308a75732c2e378ccd51 (patch)
treea4b0bf055cccd9aa334a4bb95c8a0ab6f214c69c
parent271866d423f925b0c716b15a2e6b2a98532738ba (diff)
downloadmaster-187ad058-278803f5ca0c072f0d9c308a75732c2e378ccd51.tar.gz
master-187ad058-278803f5ca0c072f0d9c308a75732c2e378ccd51.tar.bz2
master-187ad058-278803f5ca0c072f0d9c308a75732c2e378ccd51.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> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39719 3c298f89-4303-0410-b956-a3cf2f4a3e73
-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);