Commit b86e81d9 authored by Axel Lin's avatar Axel Lin Committed by Mark Brown

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: default avatarAxel Lin <axel.lin@ingics.com>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent c1b20aa5
...@@ -1568,8 +1568,7 @@ static struct platform_driver pch_spi_pd_driver = { ...@@ -1568,8 +1568,7 @@ static struct platform_driver pch_spi_pd_driver = {
.resume = pch_spi_pd_resume .resume = pch_spi_pd_resume
}; };
static int pch_spi_probe(struct pci_dev *pdev, static int pch_spi_probe(struct pci_dev *pdev, const struct pci_device_id *id)
const struct pci_device_id *id)
{ {
struct pch_spi_board_data *board_dat; struct pch_spi_board_data *board_dat;
struct platform_device *pd_dev = NULL; struct platform_device *pd_dev = NULL;
...@@ -1639,6 +1638,8 @@ static int pch_spi_probe(struct pci_dev *pdev, ...@@ -1639,6 +1638,8 @@ static int pch_spi_probe(struct pci_dev *pdev,
return 0; return 0;
err_platform_device: err_platform_device:
while (--i >= 0)
platform_device_unregister(pd_dev_save->pd_save[i]);
pci_disable_device(pdev); pci_disable_device(pdev);
pci_enable_device: pci_enable_device:
pci_release_regions(pdev); pci_release_regions(pdev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment