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

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

Fixes: deba25800a12 ("spi: Add driver for IMG SPFI controller")
Cc: stable@vger.kernel.org # 3.19
Cc: Andrew Bresticker <abrestic@chromium.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20260409120419.388546-16-johan@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Johan Hovold and committed by
Mark Brown
fc3a83b0 e506a700

+7 -1
+7 -1
drivers/spi/spi-img-spfi.c
··· 643 643 pm_runtime_set_active(spfi->dev); 644 644 pm_runtime_enable(spfi->dev); 645 645 646 - ret = devm_spi_register_controller(spfi->dev, host); 646 + ret = spi_register_controller(host); 647 647 if (ret) 648 648 goto disable_pm; 649 649 ··· 669 669 struct spi_controller *host = platform_get_drvdata(pdev); 670 670 struct img_spfi *spfi = spi_controller_get_devdata(host); 671 671 672 + spi_controller_get(host); 673 + 674 + spi_unregister_controller(host); 675 + 672 676 if (spfi->tx_ch) 673 677 dma_release_channel(spfi->tx_ch); 674 678 if (spfi->rx_ch) ··· 683 679 clk_disable_unprepare(spfi->spfi_clk); 684 680 clk_disable_unprepare(spfi->sys_clk); 685 681 } 682 + 683 + spi_controller_put(host); 686 684 } 687 685 688 686 #ifdef CONFIG_PM