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: mxs: fix controller deregistration

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

Fixes: 33e195acf268 ("spi: mxs: use devm_spi_register_master()")
Cc: stable@vger.kernel.org # 3.13
Cc: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20260410081757.503099-4-johan@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Johan Hovold and committed by
Mark Brown
8b0d0011 76336f24

+7 -1
+7 -1
drivers/spi/spi-mxs.c
··· 619 619 if (ret) 620 620 goto out_pm_runtime_put; 621 621 622 - ret = devm_spi_register_controller(&pdev->dev, host); 622 + ret = spi_register_controller(host); 623 623 if (ret) { 624 624 dev_err(&pdev->dev, "Cannot register SPI host, %d\n", ret); 625 625 goto out_pm_runtime_put; ··· 650 650 spi = spi_controller_get_devdata(host); 651 651 ssp = &spi->ssp; 652 652 653 + spi_controller_get(host); 654 + 655 + spi_unregister_controller(host); 656 + 653 657 pm_runtime_disable(&pdev->dev); 654 658 if (!pm_runtime_status_suspended(&pdev->dev)) 655 659 mxs_spi_runtime_suspend(&pdev->dev); 656 660 657 661 dma_release_channel(ssp->dmach); 662 + 663 + spi_controller_put(host); 658 664 } 659 665 660 666 static struct platform_driver mxs_spi_driver = {