summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSuraj Jaiswal <jsuraj@codeaurora.org>2019-11-18 16:58:00 +0530
committerSuraj Jaiswal <jsuraj@codeaurora.org>2019-12-04 11:47:34 +0530
commit2c45b4f701c5d36b04c110337a99a2d533204ca4 (patch)
tree72c7cd1de2f3849dd527f1ca9130ca9aa1ad2436
parentceaa8bcb4fd81d260da49051c4539a5a0f683e90 (diff)
downloaddata-kernel-2c45b4f701c5d36b04c110337a99a2d533204ca4.tar.gz
data-kernel: EMAC: emac cleanp
THis change add support for proper cleanup for Ethernet on shutdown/reboot. Change-Id: I3545905ad8ad0e139cf49f489868c738fd699445
-rw-r--r--drivers/emac-dwc-eqos/DWC_ETH_QOS_platform.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/emac-dwc-eqos/DWC_ETH_QOS_platform.c b/drivers/emac-dwc-eqos/DWC_ETH_QOS_platform.c
index 4d57d7a..431357a 100644
--- a/drivers/emac-dwc-eqos/DWC_ETH_QOS_platform.c
+++ b/drivers/emac-dwc-eqos/DWC_ETH_QOS_platform.c
@@ -2262,6 +2262,13 @@ int DWC_ETH_QOS_remove(struct platform_device *pdev)
static void DWC_ETH_QOS_shutdown(struct platform_device *pdev)
{
pr_info("qcom-emac-dwc-eqos: DWC_ETH_QOS_shutdown\n");
+#ifdef DWC_ETH_QOS_BUILTIN
+ if (gDWC_ETH_QOS_prv_data->dev->flags & IFF_UP) {
+ gDWC_ETH_QOS_prv_data->dev->netdev_ops->ndo_stop(gDWC_ETH_QOS_prv_data->dev);
+ gDWC_ETH_QOS_prv_data->dev->flags &= ~IFF_UP;
+ }
+ DWC_ETH_QOS_remove(pdev);
+#endif
}
#ifdef CONFIG_PM