From 843a74998493d5232183ce1d4b063eb58c573c5c Mon Sep 17 00:00:00 2001 From: hauke Date: Sun, 23 Feb 2014 16:58:12 +0000 Subject: 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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39719 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../brcm47xx/patches-3.10/211-b44-start_phy.patch | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 target/linux/brcm47xx/patches-3.10/211-b44-start_phy.patch 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); -- cgit v1.2.3