Re: [PATCH 14/20] spi: fsl: fix controller deregistration

Johan Hovold
2026-04-09T13:11:29Z

On Thu, Apr 09, 2026 at 02:04:13PM +0200, Johan Hovold wrote:
> Make sure to deregister the controller before releasing underlying
> resources like DMA during driver unbind.
>
> Fixes: 4178b6b1b595 ("spi: fsl-(e)spi: migrate to using devm_ functions to simplify cleanup")
> Cc: stable@vger.kernel.org # 4.3
> Cc: Heiner Kallweit <hkallweit1@gmail.com>
> Signed-off-by: Johan Hovold <johan@kernel.org>

> @@ -614,7 +614,7 @@ static struct spi_controller *fsl_spi_probe(struct device *dev,
>
> mpc8xxx_spi_write_reg(&reg_base->mode, regval);
>
> - ret = devm_spi_register_controller(dev, host);
> + ret = spi_register_controller(host);
> if (ret < 0)
> goto err_probe;
>
> @@ -751,7 +751,13 @@ static void plat_mpc8xxx_spi_remove(struct platform_device *pdev)
> struct spi_controller *host = platform_get_drvdata(pdev);
> struct mpc8xxx_spi *mpc8xxx_spi = spi_controller_get_devdata(host);
>
> + spi_controller_get(host);
> +
> + spi_unregister_controller(host);
> +
> fsl_spi_cpm_free(mpc8xxx_spi);
> +
> + spi_controller_put(host);
> }

I missed that this module registers two platform drivers so this patch
will need another spin (reported by Sashiko).

Johan