Other than a driver's shutdown callback the bus shutdown callback is
also called for unbound drivers. So check for the device being bound
before following the pointer to its driver.
Fixes: ef980bda574d ("bus: fsl-mc: Convert to bus callbacks")
Signed-off-by: Uwe Kleine-König <[email protected]>
---
Hello,
I pointed out this issue a few days ago in the thread that resulted in
commit ef980bda574d, but didn't receive a reaction so far. Given that
ef980bda574d is contained in next, I guess it's time for a proper patch
to fix the issue. Here it is.
Best regards
Uwe
drivers/bus/fsl-mc/fsl-mc-bus.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/bus/fsl-mc/fsl-mc-bus.c b/drivers/bus/fsl-mc/fsl-mc-bus.c
index 6bc163d2ca49..c08c04047ae2 100644
--- a/drivers/bus/fsl-mc/fsl-mc-bus.c
+++ b/drivers/bus/fsl-mc/fsl-mc-bus.c
@@ -162,7 +162,7 @@ static void fsl_mc_shutdown(struct device *dev)
struct fsl_mc_driver *mc_drv = to_fsl_mc_driver(dev->driver);
struct fsl_mc_device *mc_dev = to_fsl_mc_device(dev);
- if (mc_drv->shutdown)
+ if (dev->driver && mc_drv->shutdown)
mc_drv->shutdown(mc_dev);
}
base-commit: ef980bda574d3a2ebaa297def62f03d2222e6ef3
--
2.47.3