mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-25 02:09:42 +00:00
r6040: invoke phy_{start,stop} when appropriate
Joe reported to me that right after a bring up of a r6040 interface the ethtool output had no consistent output with respect to link duplex and speed. Fix this by adding a missing phy_start call in r6040_up and conversely a phy_stop call in r6040_down to properly initialize phy states. Reported-by: Joe Chou <Joe.Chou@rdc.com.tw> Signed-off-by: Florian Fainelli <florian@openwrt.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f0ec7177e2
commit
06e92c3399
1 changed files with 4 additions and 0 deletions
|
@ -470,6 +470,8 @@ static void r6040_down(struct net_device *dev)
|
|||
iowrite16(adrp[0], ioaddr + MID_0L);
|
||||
iowrite16(adrp[1], ioaddr + MID_0M);
|
||||
iowrite16(adrp[2], ioaddr + MID_0H);
|
||||
|
||||
phy_stop(lp->phydev);
|
||||
}
|
||||
|
||||
static int r6040_close(struct net_device *dev)
|
||||
|
@ -727,6 +729,8 @@ static int r6040_up(struct net_device *dev)
|
|||
/* Initialize all MAC registers */
|
||||
r6040_init_mac_regs(dev);
|
||||
|
||||
phy_start(lp->phydev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue