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
master
Hauke Mehrtens 2014-02-23 16:58:12 +00:00
parent 271866d423
commit 278803f5ca
1 changed files with 23 additions and 0 deletions

View File

@ -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);