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.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index dd454c4..b9103fc 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -439,8 +439,19 @@ static void scsi_run_queue(struct request_queue *q)
}
spin_unlock(shost->host_lock);
+
+ if (WARN((!sdev || !sdev->request_queue),
+ "request_queue is null."))
+ break;
+
spin_lock(sdev->request_queue->queue_lock);
__blk_run_queue(sdev->request_queue);
+
+
+ if (WARN((!sdev || !sdev->request_queue),
+ "request_queue is null."))
+ break;
+
spin_unlock(sdev->request_queue->queue_lock);
spin_lock(shost->host_lock);
}