summaryrefslogtreecommitdiffstats
path: root/drivers/usb/storage/scsiglue.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/storage/scsiglue.c')
-rw-r--r--drivers/usb/storage/scsiglue.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/usb/storage/scsiglue.c b/drivers/usb/storage/scsiglue.c
index 71487235d..ad0df666b 100644
--- a/drivers/usb/storage/scsiglue.c
+++ b/drivers/usb/storage/scsiglue.c
@@ -1,7 +1,7 @@
/* Driver for USB Mass Storage compliant devices
* SCSI layer glue code
*
- * $Id: scsiglue.c,v 1.2 2000/06/27 10:20:39 mdharm Exp $
+ * $Id: scsiglue.c,v 1.4 2000/07/20 01:14:56 mdharm Exp $
*
* Current development and maintainance by:
* (c) 1999, 2000 Matthew Dharm (mdharm-usb@one-eyed-alien.net)
@@ -135,7 +135,7 @@ static int release(struct Scsi_Host *psh)
*/
US_DEBUGP("-- sending US_ACT_EXIT command to thread\n");
us->action = US_ACT_EXIT;
- up(&(us->sleeper));
+ wake_up(&(us->wqh));
down(&(us->notify));
/* free the data structure we were using */
@@ -171,9 +171,11 @@ static int queuecommand( Scsi_Cmnd *srb , void (*done)(Scsi_Cmnd *))
srb->scsi_done = done;
us->action = US_ACT_COMMAND;
- /* wake up the process task */
+ /* release the lock on the structure */
up(&(us->queue_exclusion));
- up(&(us->sleeper));
+
+ /* wake up the process task */
+ wake_up(&(us->wqh));
return 0;
}
@@ -335,7 +337,7 @@ Scsi_Host_Template usb_stor_host_template = {
emulated: TRUE
};
-unsigned char usb_stor_sense_notready[12] = {
+unsigned char usb_stor_sense_notready[18] = {
[0] = 0x70, /* current error */
[2] = 0x02, /* not ready */
[5] = 0x0a, /* additional length */