Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

spi: s3c64xx: fix controller deregistration

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

Fixes: 91800f0e9005 ("spi/s3c64xx: Use managed registration")
Cc: stable@vger.kernel.org # 3.13: 76fbad410c0f
Cc: stable@vger.kernel.org # 3.13
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20260410081757.503099-12-johan@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Johan Hovold and committed by
Mark Brown
c1446b61 9944fa67

+3 -1
+3 -1
drivers/spi/spi-s3c64xx.c
··· 1369 1369 S3C64XX_SPI_INT_TX_OVERRUN_EN | S3C64XX_SPI_INT_TX_UNDERRUN_EN, 1370 1370 sdd->regs + S3C64XX_SPI_INT_EN); 1371 1371 1372 - ret = devm_spi_register_controller(&pdev->dev, host); 1372 + ret = spi_register_controller(host); 1373 1373 if (ret != 0) { 1374 1374 dev_err(&pdev->dev, "cannot register SPI host: %d\n", ret); 1375 1375 goto err_pm_put; ··· 1398 1398 struct s3c64xx_spi_driver_data *sdd = spi_controller_get_devdata(host); 1399 1399 1400 1400 pm_runtime_get_sync(&pdev->dev); 1401 + 1402 + spi_unregister_controller(host); 1401 1403 1402 1404 writel(0, sdd->regs + S3C64XX_SPI_INT_EN); 1403 1405