From: mikem@beardog.cca.cpqcorp.net

This patch fixes an Oops when unloading the driver.  Bug fix.  Please
consider this for inclusion.

All of the patches sent out are needed to get the driver in the 2.6 tree up
to the level of the driver that is in the 2.4 tree, excluding this patch
which is not required in 2.4.

More patches will be coming.  They include multi-path failover support,
support for more than 8 controllers, and msi support.  Presently working on a
per logical volume queueing scheme.



---

 drivers/block/cciss.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/block/cciss.c~cciss-11-rmmod-oops-fix drivers/block/cciss.c
--- 25/drivers/block/cciss.c~cciss-11-rmmod-oops-fix	2004-02-04 23:48:26.000000000 -0800
+++ 25-akpm/drivers/block/cciss.c	2004-02-04 23:48:26.000000000 -0800
@@ -2685,7 +2685,6 @@ static void __devexit cciss_remove_one (
 	pci_set_drvdata(pdev, NULL);
 	iounmap((void*)hba[i]->vaddr);
 	cciss_unregister_scsi(i);  /* unhook from SCSI subsystem */
-	blk_cleanup_queue(hba[i]->queue);
 	unregister_blkdev(COMPAQ_CISS_MAJOR+i, hba[i]->devname);
 	remove_proc_entry(hba[i]->devname, proc_cciss);	
 	
@@ -2696,6 +2695,7 @@ static void __devexit cciss_remove_one (
 			del_gendisk(disk);
 	}
 
+	blk_cleanup_queue(hba[i]->queue);
 	pci_free_consistent(hba[i]->pdev, NR_CMDS * sizeof(CommandList_struct),
 			    hba[i]->cmd_pool, hba[i]->cmd_pool_dhandle);
 	pci_free_consistent(hba[i]->pdev, NR_CMDS * sizeof( ErrorInfo_struct),

_