diff options
-rw-r--r-- | drivers/scsi/scsi_lib.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index 47a4ad40bf4e..0b33e4f1a51e 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c | |||
@@ -485,8 +485,13 @@ static void scsi_run_queue(struct request_queue *q) | |||
485 | */ | 485 | */ |
486 | static void scsi_requeue_command(struct request_queue *q, struct scsi_cmnd *cmd) | 486 | static void scsi_requeue_command(struct request_queue *q, struct scsi_cmnd *cmd) |
487 | { | 487 | { |
488 | unsigned long flags; | ||
489 | |||
488 | cmd->request->flags &= ~REQ_DONTPREP; | 490 | cmd->request->flags &= ~REQ_DONTPREP; |
489 | blk_insert_request(q, cmd->request, 1, cmd, 1); | 491 | |
492 | spin_lock_irqsave(q->queue_lock, flags); | ||
493 | blk_requeue_request(q, cmd->request); | ||
494 | spin_unlock_irqrestore(q->queue_lock, flags); | ||
490 | 495 | ||
491 | scsi_run_queue(q); | 496 | scsi_run_queue(q); |
492 | } | 497 | } |