From b86e81d9a7d28a658904d8b14da7b5cb0d8f8a21 Mon Sep 17 00:00:00 2001 From: Axel Lin Date: Mon, 24 Mar 2014 15:46:55 +0800 Subject: [PATCH] spi: topcliff-pch: Properly unregister platform devices on probe() error paths Ensure all registered platform devices are unregistered on probe() error paths. Signed-off-by: Axel Lin Signed-off-by: Mark Brown --- drivers/spi/spi-topcliff-pch.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/spi/spi-topcliff-pch.c b/drivers/spi/spi-topcliff-pch.c index dc5d2d489953..372811aa5fb2 100644 --- a/drivers/spi/spi-topcliff-pch.c +++ b/drivers/spi/spi-topcliff-pch.c @@ -1568,8 +1568,7 @@ static struct platform_driver pch_spi_pd_driver = { .resume = pch_spi_pd_resume }; -static int pch_spi_probe(struct pci_dev *pdev, - const struct pci_device_id *id) +static int pch_spi_probe(struct pci_dev *pdev, const struct pci_device_id *id) { struct pch_spi_board_data *board_dat; struct platform_device *pd_dev = NULL; @@ -1639,6 +1638,8 @@ static int pch_spi_probe(struct pci_dev *pdev, return 0; err_platform_device: + while (--i >= 0) + platform_device_unregister(pd_dev_save->pd_save[i]); pci_disable_device(pdev); pci_enable_device: pci_release_regions(pdev); -- 2.20.1