Skip to content

Commit 6ed9407

Browse files
jhovoldgregkh
authored andcommitted
spi: topcliff-pch: fix controller deregistration
commit 5d6f477 upstream. Make sure to deregister the controller before disabling and releasing underlying resources like interrupts and DMA during driver unbind. Fixes: e8b17b5 ("spi/topcliff: Add topcliff platform controller hub (PCH) spi bus driver") Cc: stable@vger.kernel.org # 2.6.37 Cc: Masayuki Ohtake <masa-korg@dsn.okisemi.com> Signed-off-by: Johan Hovold <johan@kernel.org> Link: https://patch.msgid.link/20260414134319.978196-8-johan@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent cc5dd97 commit 6ed9407

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

drivers/spi/spi-topcliff-pch.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1406,6 +1406,10 @@ static void pch_spi_pd_remove(struct platform_device *plat_dev)
14061406
dev_dbg(&plat_dev->dev, "%s:[ch%d] irq=%d\n",
14071407
__func__, plat_dev->id, board_dat->pdev->irq);
14081408

1409+
spi_controller_get(data->host);
1410+
1411+
spi_unregister_controller(data->host);
1412+
14091413
if (use_dma)
14101414
pch_free_dma_buf(board_dat, data);
14111415

@@ -1433,7 +1437,8 @@ static void pch_spi_pd_remove(struct platform_device *plat_dev)
14331437
}
14341438

14351439
pci_iounmap(board_dat->pdev, data->io_remap_addr);
1436-
spi_unregister_controller(data->host);
1440+
1441+
spi_controller_put(data->host);
14371442
}
14381443
#ifdef CONFIG_PM
14391444
static int pch_spi_pd_suspend(struct platform_device *pd_dev,

0 commit comments

Comments
 (0)