Unverified Commit 45170f67 authored by Johan Hovold's avatar Johan Hovold Committed by Mark Brown
Browse files

spi: sh-msiof: fix controller deregistration



Make sure to deregister the controller before releasing underlying
resources like DMA during driver unbind.

Fixes: 1bd6363b ("spi: sh-msiof: Use core message handling instead of spi-bitbang")
Cc: stable@vger.kernel.org	# 3.15
Cc: Geert Uytterhoeven <geert+renesas@linux-m68k.org>
Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20260410081757.503099-14-johan@kernel.org


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent e63982e6
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -1289,9 +1289,9 @@ static int sh_msiof_spi_probe(struct platform_device *pdev)
	if (ret < 0)
		dev_warn(dev, "DMA not available, using PIO\n");

	ret = devm_spi_register_controller(dev, ctlr);
	ret = spi_register_controller(ctlr);
	if (ret < 0) {
		dev_err(dev, "devm_spi_register_controller error.\n");
		dev_err(dev, "failed to register controller\n");
		goto err2;
	}

@@ -1309,8 +1309,14 @@ static void sh_msiof_spi_remove(struct platform_device *pdev)
{
	struct sh_msiof_spi_priv *p = platform_get_drvdata(pdev);

	spi_controller_get(p->ctlr);

	spi_unregister_controller(p->ctlr);

	sh_msiof_release_dma(p);
	pm_runtime_disable(&pdev->dev);

	spi_controller_put(p->ctlr);
}

static const struct platform_device_id spi_driver_ids[] = {