patch-2.3.10 linux/drivers/scsi/NCR53C9x.c
Next file: linux/drivers/scsi/aha152x.c
Previous file: linux/drivers/scsi/53c7xx.c
Back to the patch index
Back to the overall index
-  Lines: 28
-  Date:
Mon Jul  5 19:56:46 1999
-  Orig file: 
v2.3.9/linux/drivers/scsi/NCR53C9x.c
-  Orig date: 
Fri Dec 18 09:47:38 1998
diff -u --recursive --new-file v2.3.9/linux/drivers/scsi/NCR53C9x.c linux/drivers/scsi/NCR53C9x.c
@@ -3390,6 +3390,7 @@
 	struct ESP_regs *eregs;
 	Scsi_Cmnd *SCptr;
 	int what_next = do_intr_end;
+	unsigned long flags;
 #ifdef CONFIG_SCSI_SUNESP
 	struct sparc_dma_registers *dregs = 
 	  (struct sparc_dma_registers*) esp->dregs;
@@ -3610,7 +3611,9 @@
 			}
 			SCptr->result = (DID_RESET << 16);
 
+			spin_lock_irqsave(&io_request_lock,flags);
 			SCptr->scsi_done(SCptr);
+			spin_unlock_irqrestore(&io_request_lock, flags);
 		}
 		esp->current_SC = NULL;
 		if(esp->disconnected_SC) {
@@ -3625,7 +3628,9 @@
 				}
 				SCptr->result = (DID_RESET << 16);
 
+				spin_lock_irqsave(&io_request_lock,flags);
 				SCptr->scsi_done(SCptr);
+				spin_unlock_irqrestore(&io_request_lock, flags);
 			}
 		}
 		esp->resetting_bus = 0;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)