patch-2.4.26 linux-2.4.26/drivers/usb/storage/scsiglue.c

Next file: linux-2.4.26/drivers/usb/storage/unusual_devs.h
Previous file: linux-2.4.26/drivers/usb/storage/datafab.c
Back to the patch index
Back to the overall index

diff -urN linux-2.4.25/drivers/usb/storage/scsiglue.c linux-2.4.26/drivers/usb/storage/scsiglue.c
@@ -213,9 +213,14 @@
 static int device_reset( Scsi_Cmnd *srb )
 {
 	struct us_data *us = (struct us_data *)srb->host->hostdata[0];
+	int rc;
 
 	US_DEBUGP("device_reset() called\n" );
-	return us->transport_reset(us);
+
+	spin_unlock_irq(&io_request_lock);
+	rc = us->transport_reset(us);
+	spin_lock_irq(&io_request_lock);
+	return rc;
 }
 
 /* This resets the device port, and simulates the device

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