summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrzej Jakowski <andrzej.jakowski@intel.com>2012-02-10 01:18:54 -0800
committerJames Bottomley <JBottomley@Parallels.com>2012-02-29 16:24:41 -0600
commit13de2c541993394ec4db4949302312a0ce0af7b1 (patch)
tree5acbb429ab2f09f4147e22fa2a1c578e364d58dc
parente462116afb1e436d4045167e7fe979405ae33d2b (diff)
downloadop-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.c3
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);
}
}
OpenPOWER on IntegriCloud