From: Andrzej Jakowski Date: Fri, 10 Feb 2012 09:18:54 +0000 (-0800) Subject: [SCSI] isci: improvements in driver unloading routine X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=13de2c541993394ec4db4949302312a0ce0af7b1;p=deliverable%2Flinux.git [SCSI] isci: improvements in driver unloading routine This patch fixes scenario where driver removal should be possible only when driver is in READY state. Also it removes redundant invocation of routine disabling SCU interrupts - this method is called somewhere else in driver deinitialization path. Signed-off-by: Andrzej Jakowski Signed-off-by: Dan Williams Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/isci/init.c b/drivers/scsi/isci/init.c index c9af456e7dfe..5137db5a5d85 100644 --- a/drivers/scsi/isci/init.c +++ b/drivers/scsi/isci/init.c @@ -60,6 +60,7 @@ #include #include #include +#include "host.h" #include "isci.h" #include "task.h" #include "probe_roms.h" @@ -552,9 +553,9 @@ static void __devexit isci_pci_remove(struct pci_dev *pdev) int i; for_each_isci_host(i, ihost, pdev) { + wait_for_start(ihost); isci_unregister(ihost); isci_host_deinit(ihost); - sci_controller_disable_interrupts(ihost); } }