From: scameron@beardog.cca.cpqcorp.net <scameron@beardog.cca.cpqcorp.net>
Date: Thu, 17 Apr 2008 11:19:04 +0000 (+0200)
Subject: cciss: fix warning oops on rmmod of driver
X-Git-Tag: v2.6.26-rc1~1115^2~4
X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=6195057f5809e93cdb1ec733f7b9c87fe2212f98;p=linux-2.6-omap-h63xx.git

cciss: fix warning oops on rmmod of driver

* Fix oops on cciss rmmod due to calling pci_free_consistent with
  irqs disabled.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cca.cpqcorp.net>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
---

diff --git a/drivers/block/cciss_scsi.c b/drivers/block/cciss_scsi.c
index 45ac09300eb..e4bf9a11ca0 100644
--- a/drivers/block/cciss_scsi.c
+++ b/drivers/block/cciss_scsi.c
@@ -1349,9 +1349,9 @@ cciss_unregister_scsi(int ctlr)
 	/* set scsi_host to NULL so our detect routine will 
 	   find us on register */
 	sa->scsi_host = NULL;
+	spin_unlock_irqrestore(CCISS_LOCK(ctlr), flags);
 	scsi_cmd_stack_free(ctlr);
 	kfree(sa);
-	spin_unlock_irqrestore(CCISS_LOCK(ctlr), flags);
 }
 
 static int