summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2023-05-08 16:26:29 +0200
committerJakub Kicinski <kuba@kernel.org>2023-05-09 19:57:01 -0700
commitc5f3ffe35cc92cce6292b5304409f3edc9281d66 (patch)
tree3da5f89617fec025e468cab354687926e09f3999
parentb9bc44fe068d6e44504f6f3eb03a325fd6843d60 (diff)
downloadlinux-next-c5f3ffe35cc92cce6292b5304409f3edc9281d66.tar.gz
net: stmmac: dwmac-qcom-ethqos: Drop an if with an always false condition
The remove callback is only ever called after .probe() returned successfully. After that get_stmmac_bsp_priv() always return non-NULL. Side note: The early exit would also be a bug because the return value of qcom_ethqos_remove() is ignored by the device core and the device is unbound unconditionally. So exiting early resulted in a dangerous resource leak as all devm allocated resources (some memory and the register mappings) are freed but the network device stays around. Using the network device afterwards probably oopses. Reviewed-by: Simon Horman <simon.horman@corigine.com> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Reviewed-by: Michal Kubiak <michal.kubiak@intel.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
index 494c22243259..bf17c6c8f2eb 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
@@ -667,11 +667,7 @@ err_mem:
static int qcom_ethqos_remove(struct platform_device *pdev)
{
- struct qcom_ethqos *ethqos;
-
- ethqos = get_stmmac_bsp_priv(&pdev->dev);
- if (!ethqos)
- return -ENODEV;
+ struct qcom_ethqos *ethqos = get_stmmac_bsp_priv(&pdev->dev);
stmmac_pltfr_remove(pdev);
ethqos_clks_config(ethqos, false);