Skip to content

Commit 31e7dd2

Browse files
jhovoldgregkh
authored andcommitted
spi: cadence: fix controller deregistration
commit 666fa7e upstream. Make sure to deregister the controller before disabling underlying resources like clocks during driver unbind. Fixes: c474b38 ("spi: Add driver for Cadence SPI controller") Cc: stable@vger.kernel.org # 3.16 Cc: Harini Katakam <harinik@xilinx.com> Signed-off-by: Johan Hovold <johan@kernel.org> Link: https://patch.msgid.link/20260414134319.978196-2-johan@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent bb6b50f commit 31e7dd2

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

drivers/spi/spi-cadence.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -686,14 +686,18 @@ static void cdns_spi_remove(struct platform_device *pdev)
686686
struct spi_controller *ctlr = platform_get_drvdata(pdev);
687687
struct cdns_spi *xspi = spi_controller_get_devdata(ctlr);
688688

689+
spi_controller_get(ctlr);
690+
691+
spi_unregister_controller(ctlr);
692+
689693
cdns_spi_write(xspi, CDNS_SPI_ER, CDNS_SPI_ER_DISABLE);
690694

691695
if (!spi_controller_is_target(ctlr)) {
692696
pm_runtime_disable(&pdev->dev);
693697
pm_runtime_set_suspended(&pdev->dev);
694698
}
695699

696-
spi_unregister_controller(ctlr);
700+
spi_controller_put(ctlr);
697701
}
698702

699703
/**

0 commit comments

Comments
 (0)