From 610e2b6a211c02434d2235d0e0d02637ad31dc5b Mon Sep 17 00:00:00 2001 From: Mohan Thadikamalla Date: Thu, 5 Dec 2019 11:18:05 +0530 Subject: [PATCH] nvethernet: Fix continuous PHY interrupt on resume Issue: In suspend - PHY placed in reset with phy-reset GPIO. With this, all register content will be gone. After resume - PHY placed out of reset but PHY registers will not be restored. With this change, we are putting PHY in the proper state after resume. Fix: Add PHY config on resume call. Bug 200545651 Change-Id: I138d951c42be0b00a1e22c2a45f0d58567f22df1 Signed-off-by: Mohan Thadikamalla Reviewed-on: https://git-master.nvidia.com/r/2255706 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Bhadram Varka GVS: Gerrit_Virtual_Submit Reviewed-by: Narayan Reddy Reviewed-by: Bitan Biswas Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/net/ethernet/nvidia/nvethernet/ether_linux.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c index b269840b..6aef0b4a 100644 --- a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c +++ b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c @@ -3913,6 +3913,8 @@ static int ether_resume(struct ether_priv_data *pdata) /* start the mac */ osi_start_mac(osi_core); if (pdata->phydev && !(device_may_wakeup(&ndev->dev))) { + /* configure phy init */ + phy_init_hw(pdata->phydev); /* start phy */ phy_start(pdata->phydev); }