aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/scsi_lib.c')
-rw-r--r--drivers/scsi/scsi_lib.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index 28d9c9d6b4b..f97acffdddc 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -1697,6 +1697,15 @@ struct request_queue *scsi_alloc_queue(struct scsi_device *sdev)
1697 1697
1698void scsi_free_queue(struct request_queue *q) 1698void scsi_free_queue(struct request_queue *q)
1699{ 1699{
1700 unsigned long flags;
1701
1702 WARN_ON(q->queuedata);
1703
1704 /* cause scsi_request_fn() to kill all non-finished requests */
1705 spin_lock_irqsave(q->queue_lock, flags);
1706 q->request_fn(q);
1707 spin_unlock_irqrestore(q->queue_lock, flags);
1708
1700 blk_cleanup_queue(q); 1709 blk_cleanup_queue(q);
1701} 1710}
1702 1711