patch-2.2.0-pre2 linux/drivers/scsi/mesh.c

Next file: linux/drivers/scsi/scsi.h
Previous file: linux/drivers/scsi/ibmmca.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.2.0-pre1/linux/drivers/scsi/mesh.c linux/drivers/scsi/mesh.c
@@ -1346,11 +1346,11 @@
 static void
 do_mesh_interrupt(int irq, void *dev_id, struct pt_regs *ptregs)
 {
-	/*unsigned long flags;*/
+	unsigned long flags;
 
-	/*spin_lock_irqsave(&io_request_lock, flags);*/
+	spin_lock_irqsave(&io_request_lock, flags);
 	mesh_interrupt(irq, dev_id, ptregs);
-	/*spin_unlock_irqrestore(&io_request_lock, flags);*/
+	spin_unlock_irqrestore(&io_request_lock, flags);
 }
 
 static void handle_error(struct mesh_state *ms)
@@ -1643,6 +1643,7 @@
 static void
 mesh_completed(struct mesh_state *ms, Scsi_Cmnd *cmd)
 {
+#if 0
 	if (ms->completed_q == NULL)
 		ms->completed_q = cmd;
 	else
@@ -1651,6 +1652,9 @@
 	cmd->host_scribble = NULL;
 	queue_task(&ms->tqueue, &tq_immediate);
 	mark_bh(IMMEDIATE_BH);
+#else
+	(*cmd->scsi_done)(cmd);
+#endif
 }
 
 /*

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov