bus: fsl-mc: Drop if block with always false condition
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Fri, 3 Nov 2023 23:00:02 +0000 (00:00 +0100)
committerUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Thu, 16 Nov 2023 11:43:56 +0000 (12:43 +0100)
The mc that belongs to a pdev is always a root dprc. In
fsl_mc_bus_probe() the mc device gets assigned the platform device as
parent. As dev_is_fsl_mc() is false for a platform device,
fsl_mc_get_root_dprc() will always be true and so the if body is never
run and it can be dropped.

The motivation for this change is to get rid of an error path in
.remove() that is broken (because only a part of the necessary cleanup
is done resulting in leaks and/or use-after-frees and the driver core
ignores the return value of .remove().)

Link: https://lore.kernel.org/r/20231103230001.3652259-3-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
drivers/bus/fsl-mc/fsl-mc-bus.c

index 2f6d5002e43d587458ab5644b685b82f8c63e311..75a8d365ffd419ff2b4c8b5802fa01796be1e6a9 100644 (file)
@@ -1172,9 +1172,6 @@ static int fsl_mc_bus_remove(struct platform_device *pdev)
        struct fsl_mc *mc = platform_get_drvdata(pdev);
        struct fsl_mc_io *mc_io;
 
-       if (!fsl_mc_is_root_dprc(&mc->root_mc_bus_dev->dev))
-               return -EINVAL;
-
        mc_io = mc->root_mc_bus_dev->mc_io;
        fsl_mc_device_remove(mc->root_mc_bus_dev);
        fsl_destroy_mc_io(mc_io);