Update to 2.6.32.41 Mainline
/drivers/scsi/scsi_lib.c
blob:d78828ff92c1debf9b42e69f24ab853cbe040851 -> blob:1492e3e1e3befe1fe606057f74016dcc7fb39502
--- drivers/scsi/scsi_lib.c
+++ drivers/scsi/scsi_lib.c
@@ -400,10 +400,15 @@ static inline int scsi_host_is_busy(stru
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);