Skip to content

Commit 70c2ee9

Browse files
jhovoldgregkh
authored andcommitted
spi: qup: fix controller deregistration
commit 443e3a0 upstream. Make sure to deregister the controller before disabling underlying resources like clocks during driver unbind. Fixes: 64ff247 ("spi: Add Qualcomm QUP SPI controller support") Cc: stable@vger.kernel.org # 3.15 Signed-off-by: Johan Hovold <johan@kernel.org> Link: https://patch.msgid.link/20260410081757.503099-10-johan@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 5a531cb commit 70c2ee9

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

drivers/spi/spi-qup.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1149,7 +1149,7 @@ static int spi_qup_probe(struct platform_device *pdev)
11491149
pm_runtime_set_active(dev);
11501150
pm_runtime_enable(dev);
11511151

1152-
ret = devm_spi_register_controller(dev, host);
1152+
ret = spi_register_controller(host);
11531153
if (ret)
11541154
goto disable_pm;
11551155

@@ -1274,6 +1274,10 @@ static void spi_qup_remove(struct platform_device *pdev)
12741274
struct spi_qup *controller = spi_controller_get_devdata(host);
12751275
int ret;
12761276

1277+
spi_controller_get(host);
1278+
1279+
spi_unregister_controller(host);
1280+
12771281
ret = pm_runtime_get_sync(&pdev->dev);
12781282

12791283
if (ret >= 0) {
@@ -1293,6 +1297,8 @@ static void spi_qup_remove(struct platform_device *pdev)
12931297

12941298
pm_runtime_put_noidle(&pdev->dev);
12951299
pm_runtime_disable(&pdev->dev);
1300+
1301+
spi_controller_put(host);
12961302
}
12971303

12981304
static const struct of_device_id spi_qup_dt_match[] = {

0 commit comments

Comments
 (0)