net: fec: reset fep link status in suspend function
On some i.MX6 serial boards, phy power and refrence clock are supplied
or controlled by SOC. When do suspend/resume test, the power and clock
are disabled, so phy device link down.
For current driver, fep->link is still up status, which cause extra operation
like below code. To avoid the dumy operation, we set fep->link to down when
phy device is real down.
...
if (fep->link) {
napi_disable(&fep->napi);
netif_tx_lock_bh(ndev);
fec_stop(ndev);
netif_tx_unlock_bh(ndev);
napi_enable(&fep->napi);
fep->link = phy_dev->link;
status_change = 1;
}
...
Signed-off-by: Fugang Duan <B38611@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
198bf1b046
commit
858eeb7d9c
@@ -3332,6 +3332,12 @@ static int __maybe_unused fec_suspend(struct device *dev)
|
|||||||
if (fep->reg_phy)
|
if (fep->reg_phy)
|
||||||
regulator_disable(fep->reg_phy);
|
regulator_disable(fep->reg_phy);
|
||||||
|
|
||||||
|
/* SOC supply clock to phy, when clock is disabled, phy link down
|
||||||
|
* SOC control phy regulator, when regulator is disabled, phy link down
|
||||||
|
*/
|
||||||
|
if (fep->clk_enet_out || fep->reg_phy)
|
||||||
|
fep->link = 0;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user