[PATCH] bus: fsl-mc: Cope for unbound devices in fsl_mc_shutdown

Uwe Kleine-König posted 1 patch 1 week, 2 days ago
drivers/bus/fsl-mc/fsl-mc-bus.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] bus: fsl-mc: Cope for unbound devices in fsl_mc_shutdown
Posted by Uwe Kleine-König 1 week, 2 days ago
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 <u.kleine-koenig@baylibre.com>
---
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

Re: [PATCH] bus: fsl-mc: Cope for unbound devices in fsl_mc_shutdown
Posted by Christophe Leroy (CS GROUP) 3 days, 14 hours ago
On Tue, 09 Dec 2025 12:59:47 +0100, Uwe Kleine-König wrote:
> 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.
> 
> 

Applied, thanks!

[1/1] bus: fsl-mc: Cope for unbound devices in fsl_mc_shutdown
      (no commit info)

Best regards,
-- 
Christophe Leroy (CS GROUP) <chleroy@kernel.org>
Re: [PATCH] bus: fsl-mc: Cope for unbound devices in fsl_mc_shutdown
Posted by Christophe Leroy (CS GROUP) 1 week, 2 days ago

Le 09/12/2025 à 12:59, Uwe Kleine-König a écrit :
> 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 <u.kleine-koenig@baylibre.com>
> ---
> 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.

Thanks for the fixup.

Nobody reacted against what you pointed out a few days ago so I guess 
this fix is OK.

Unless you mind I will squash it into previous patch to avoid having to 
manage the Fixes: tag update when I rebase to 6.19rc1

Christophe

> 
> 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

Re: [PATCH] bus: fsl-mc: Cope for unbound devices in fsl_mc_shutdown
Posted by Uwe Kleine-König 1 week, 2 days ago
On Tue, Dec 09, 2025 at 01:05:50PM +0100, Christophe Leroy (CS GROUP) wrote:
> 
> 
> Le 09/12/2025 à 12:59, Uwe Kleine-König a écrit :
> > 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 <u.kleine-koenig@baylibre.com>
> > ---
> > 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.
> 
> Thanks for the fixup.
> 
> Nobody reacted against what you pointed out a few days ago so I guess this
> fix is OK.

Always the optimist, I think it means nobody bothered :-)

> Unless you mind I will squash it into previous patch to avoid having to
> manage the Fixes: tag update when I rebase to 6.19rc1

No objection from my side.

Best regards
Uwe