net: stmmac: dwmac-qcom-ethqos: Drop an if with an always false condition
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Mon, 8 May 2023 14:26:29 +0000 (16:26 +0200)
committerJakub Kicinski <kuba@kernel.org>
Wed, 10 May 2023 02:57:01 +0000 (19:57 -0700)
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>
drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c

index 494c222..bf17c6c 100644 (file)
@@ -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);