patch-2.1.95 linux/drivers/scsi/sg.c
Next file: linux/drivers/scsi/sr.c
Previous file: linux/drivers/scsi/sd.c
Back to the patch index
Back to the overall index
- Lines: 28
- Date:
Thu Apr 9 22:11:00 1998
- Orig file:
v2.1.94/linux/drivers/scsi/sg.c
- Orig date:
Wed Apr 1 20:11:53 1998
diff -u --recursive --new-file v2.1.94/linux/drivers/scsi/sg.c linux/drivers/scsi/sg.c
@@ -250,23 +250,22 @@
/*
* Wait until the command is actually done.
*/
- save_flags(flags);
- cli();
+ spin_lock_irqsave(&io_request_lock, flags);
while(!device->pending || !device->complete)
{
if (filp->f_flags & O_NONBLOCK)
{
- restore_flags(flags);
+ spin_unlock_irqrestore(&io_request_lock, flags);
return -EAGAIN;
}
interruptible_sleep_on(&device->read_wait);
if (signal_pending(current))
{
- restore_flags(flags);
+ spin_unlock_irqrestore(&io_request_lock, flags);
return -ERESTARTSYS;
}
}
- restore_flags(flags);
+ spin_unlock_irqrestore(&io_request_lock, flags);
/*
* Now copy the result back to the user buffer.
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov