aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/isci
diff options
context:
space:
mode:
authorAndrzej Jakowski <andrzej.jakowski@intel.com>2012-02-10 04:18:54 -0500
committerJames Bottomley <JBottomley@Parallels.com>2012-02-29 17:24:41 -0500
commit13de2c541993394ec4db4949302312a0ce0af7b1 (patch)
tree5acbb429ab2f09f4147e22fa2a1c578e364d58dc /drivers/scsi/isci
parente462116afb1e436d4045167e7fe979405ae33d2b (diff)
[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>
Diffstat (limited to 'drivers/scsi/isci')
-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 c9af456e7df..5137db5a5d8 100644
--- a/drivers/scsi/isci/init.c
+++ b/drivers/scsi/isci/init.c
@@ -60,6 +60,7 @@
60#include <linux/efi.h> 60#include <linux/efi.h>
61#include <asm/string.h> 61#include <asm/string.h>
62#include <scsi/scsi_host.h> 62#include <scsi/scsi_host.h>
63#include "host.h"
63#include "isci.h" 64#include "isci.h"
64#include "task.h" 65#include "task.h"
65#include "probe_roms.h" 66#include "probe_roms.h"
@@ -552,9 +553,9 @@ static void __devexit isci_pci_remove(struct pci_dev *pdev)
552 int i; 553 int i;
553 554
554 for_each_isci_host(i, ihost, pdev) { 555 for_each_isci_host(i, ihost, pdev) {
556 wait_for_start(ihost);
555 isci_unregister(ihost); 557 isci_unregister(ihost);
556 isci_host_deinit(ihost); 558 isci_host_deinit(ihost);
557 sci_controller_disable_interrupts(ihost);
558 } 559 }
559} 560}
560 561