diff options
Diffstat (limited to 'drivers/scsi/scsi_lib.c')
-rw-r--r-- | drivers/scsi/scsi_lib.c | 11 |
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); } |