Commit 1bea302c authored by Vinod Koul's avatar Vinod Koul Committed by Greg Kroah-Hartman

intel_sst: fix unload bugs

The current driver remove was erroneous and causes
errors when unloading or loading second time

This patch fixes both of these issues
Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
Signed-off-by: default avatarRamesh Babu K V <ramesh.babu@intel.com>
Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent b06a584c
......@@ -371,7 +371,8 @@ static int __devinit intel_sst_probe(struct pci_dev *pci,
destroy_workqueue(sst_drv_ctx->mad_wq);
do_free_drv_ctx:
kfree(sst_drv_ctx);
pr_err("Probe failed with 0x%x\n", ret);
sst_drv_ctx = NULL;
pr_err("Probe failed with %d\n", ret);
return ret;
}
......@@ -407,11 +408,9 @@ static void __devexit intel_sst_remove(struct pci_dev *pci)
destroy_workqueue(sst_drv_ctx->post_msg_wq);
destroy_workqueue(sst_drv_ctx->mad_wq);
kfree(sst_drv_ctx);
pci_release_region(pci, 1);
pci_release_region(pci, 2);
pci_release_region(pci, 3);
pci_release_region(pci, 4);
pci_release_region(pci, 5);
sst_drv_ctx = NULL;
pci_release_regions(pci);
pci_disable_device(pci);
pci_set_drvdata(pci, NULL);
}
......@@ -604,6 +603,7 @@ static void __exit intel_sst_exit(void)
pci_unregister_driver(&driver);
pr_debug("driver unloaded\n");
sst_drv_ctx = NULL;
return;
}
......
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