Просмотр исходного кода

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 <[email protected]>

SVN-Revision: 39719
Hauke Mehrtens 12 лет назад
Родитель
Сommit
f587bacc26
1 измененных файлов с 23 добавлено и 0 удалено
  1. 23 0
      target/linux/brcm47xx/patches-3.10/211-b44-start_phy.patch

+ 23 - 0
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);