patch-2.4.0-test3 linux/drivers/i2o/i2o_block.c

Next file: linux/drivers/ide/hd.c
Previous file: linux/drivers/i2c/i2c-core.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test2/linux/drivers/i2o/i2o_block.c linux/drivers/i2o/i2o_block.c
@@ -83,10 +83,10 @@
 /*
  * Events that this OSM is interested in
  */
-#define I2OB_EVENT_MASK	I2O_EVT_IND_BSA_VOLUME_LOAD |	\
-				I2O_EVT_IND_BSA_VOLUME_UNLOAD | \
-				I2O_EVT_IND_BSA_VOLUME_UNLOAD_REQ | \
-				I2O_EVT_IND_BSA_CAPACITY_CHANGE
+#define I2OB_EVENT_MASK		(I2O_EVT_IND_BSA_VOLUME_LOAD |	\
+				 I2O_EVT_IND_BSA_VOLUME_UNLOAD | \
+				 I2O_EVT_IND_BSA_VOLUME_UNLOAD_REQ | \
+				 I2O_EVT_IND_BSA_CAPACITY_CHANGE)
 
 
 /*
@@ -147,7 +147,7 @@
 	struct i2ob_request *next;
 	struct request *req;
 	int num;
-} __cacheline_aligned;
+};
 
 /*
  * Per IOP requst queue information
@@ -1664,6 +1664,7 @@
 	if(i2o_install_handler(&i2o_block_handler)<0)
 	{
 		unregister_blkdev(MAJOR_NR, "i2o_block");
+		blk_cleanup_queue(BLK_DEFAULT_QUEUE(MAJOR_NR));
 		printk(KERN_ERR "i2o_block: unable to register OSM.\n");
 		return -EINVAL;
 	}
@@ -1729,6 +1730,11 @@
 	 */
 	if (unregister_blkdev(MAJOR_NR, "i2o_block") != 0)
 		printk("i2o_block: cleanup_module failed\n");
+
+	/*
+	 * free request queue
+	 */
+	blk_cleanup_queue(BLK_DEFAULT_QUEUE(MAJOR_NR));
 
 	if(evt_running) {
 		i = kill_proc(evt_pid, SIGTERM, 1);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)