summaryrefslogtreecommitdiff
path: root/drivers/emac-dwc-eqos/DWC_ETH_QOS_platform.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/emac-dwc-eqos/DWC_ETH_QOS_platform.c')
-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 2a7e11a..50d1e55 100644
--- a/drivers/emac-dwc-eqos/DWC_ETH_QOS_platform.c
+++ b/drivers/emac-dwc-eqos/DWC_ETH_QOS_platform.c
@@ -2264,6 +2264,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