diff options
Diffstat (limited to 'block')
-rw-r--r-- | block/blk-core.c | 18 | ||||
-rw-r--r-- | block/scsi_ioctl.c | 2 |
2 files changed, 19 insertions, 1 deletions
diff --git a/block/blk-core.c b/block/blk-core.c index fef79ccb2a11..4889eb86a39e 100644 --- a/block/blk-core.c +++ b/block/blk-core.c | |||
@@ -212,6 +212,24 @@ void blk_plug_device(struct request_queue *q) | |||
212 | } | 212 | } |
213 | EXPORT_SYMBOL(blk_plug_device); | 213 | EXPORT_SYMBOL(blk_plug_device); |
214 | 214 | ||
215 | /** | ||
216 | * blk_plug_device_unlocked - plug a device without queue lock held | ||
217 | * @q: The &struct request_queue to plug | ||
218 | * | ||
219 | * Description: | ||
220 | * Like @blk_plug_device(), but grabs the queue lock and disables | ||
221 | * interrupts. | ||
222 | **/ | ||
223 | void blk_plug_device_unlocked(struct request_queue *q) | ||
224 | { | ||
225 | unsigned long flags; | ||
226 | |||
227 | spin_lock_irqsave(q->queue_lock, flags); | ||
228 | blk_plug_device(q); | ||
229 | spin_unlock_irqrestore(q->queue_lock, flags); | ||
230 | } | ||
231 | EXPORT_SYMBOL(blk_plug_device_unlocked); | ||
232 | |||
215 | /* | 233 | /* |
216 | * remove the queue from the plugged list, if present. called with | 234 | * remove the queue from the plugged list, if present. called with |
217 | * queue lock held and interrupts disabled. | 235 | * queue lock held and interrupts disabled. |
diff --git a/block/scsi_ioctl.c b/block/scsi_ioctl.c index c5b9bcfc0a6d..12a5182173f6 100644 --- a/block/scsi_ioctl.c +++ b/block/scsi_ioctl.c | |||
@@ -518,7 +518,7 @@ int scsi_cmd_ioctl(struct file *file, struct request_queue *q, | |||
518 | hdr.sbp = cgc.sense; | 518 | hdr.sbp = cgc.sense; |
519 | if (hdr.sbp) | 519 | if (hdr.sbp) |
520 | hdr.mx_sb_len = sizeof(struct request_sense); | 520 | hdr.mx_sb_len = sizeof(struct request_sense); |
521 | hdr.timeout = cgc.timeout; | 521 | hdr.timeout = jiffies_to_msecs(cgc.timeout); |
522 | hdr.cmdp = ((struct cdrom_generic_command __user*) arg)->cmd; | 522 | hdr.cmdp = ((struct cdrom_generic_command __user*) arg)->cmd; |
523 | hdr.cmd_len = sizeof(cgc.cmd); | 523 | hdr.cmd_len = sizeof(cgc.cmd); |
524 | 524 | ||