]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/scsi/scsi_lib.c
Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
[karo-tx-linux.git] / drivers / scsi / scsi_lib.c
index 01e4e51c4b68e262f3bbcde4474648d91555e990..ec1803a48723dc950f56eb3fddb33456ea8d9a61 100644 (file)
@@ -398,10 +398,15 @@ static inline int scsi_host_is_busy(struct Scsi_Host *shost)
 static void scsi_run_queue(struct request_queue *q)
 {
        struct scsi_device *sdev = q->queuedata;
-       struct Scsi_Host *shost = sdev->host;
+       struct Scsi_Host *shost;
        LIST_HEAD(starved_list);
        unsigned long flags;
 
+       /* if the device is dead, sdev will be NULL, so no queue to run */
+       if (!sdev)
+               return;
+
+       shost = sdev->host;
        if (scsi_target(sdev)->single_lun)
                scsi_single_lun_run(sdev);