diff options
author | Andrzej Jakowski <andrzej.jakowski@intel.com> | 2012-02-10 01:18:54 -0800 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-02-29 16:24:41 -0600 |
commit | 13de2c541993394ec4db4949302312a0ce0af7b1 (patch) | |
tree | 5acbb429ab2f09f4147e22fa2a1c578e364d58dc | |
parent | e462116afb1e436d4045167e7fe979405ae33d2b (diff) | |
download | op-kernel-dev-13de2c541993394ec4db4949302312a0ce0af7b1.zip op-kernel-dev-13de2c541993394ec4db4949302312a0ce0af7b1.tar.gz |
[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 <andrzej.jakowski@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
-rw-r--r-- | drivers/scsi/isci/init.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/isci/init.c b/drivers/scsi/isci/init.c index c9af456..5137db5 100644 --- a/drivers/scsi/isci/init.c +++ b/drivers/scsi/isci/init.c @@ -60,6 +60,7 @@ #include <linux/efi.h> #include <asm/string.h> #include <scsi/scsi_host.h> +#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); } } |