Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 858eeb7d authored by Nimrod Andy's avatar Nimrod Andy Committed by David S. Miller
Browse files

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: default avatarFugang Duan <B38611@freescale.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 198bf1b0
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -3332,6 +3332,12 @@ static int __maybe_unused fec_suspend(struct device *dev)
	if (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;
}