aboutsummaryrefslogtreecommitdiff
path: root/drivers/scsi/device_handler/scsi_dh.c
diff options
context:
space:
mode:
authorBjørn Mork <bjorn@mork.no>2012-01-15 08:35:28 +0100
committerBjørn Mork <bjorn@mork.no>2012-01-15 08:35:28 +0100
commit6528209ba2c94f3a0ef946b7d808d9a15b30ec50 (patch)
treec3c1b8bcf8ae19f411c53c2f199f923742bcc256 /drivers/scsi/device_handler/scsi_dh.c
parenta056fb3687c40b8a1123de1586f491285cb5fb1f (diff)
parentf2ab2a127d480ee20caf8620440ccf13c014447a (diff)
Merge remote branch 'stable/linux-2.6.32.y' into 2.6.32-mantismedia/2.6.32-mantis
Diffstat (limited to 'drivers/scsi/device_handler/scsi_dh.c')
-rw-r--r--drivers/scsi/device_handler/scsi_dh.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/scsi/device_handler/scsi_dh.c b/drivers/scsi/device_handler/scsi_dh.c
index bfec4fa5add..2d04d619edf 100644
--- a/drivers/scsi/device_handler/scsi_dh.c
+++ b/drivers/scsi/device_handler/scsi_dh.c
@@ -432,7 +432,12 @@ int scsi_dh_activate(struct request_queue *q)
spin_lock_irqsave(q->queue_lock, flags);
sdev = q->queuedata;
- if (sdev && sdev->scsi_dh_data)
+ if (!sdev) {
+ spin_unlock_irqrestore(q->queue_lock, flags);
+ return SCSI_DH_NOSYS;
+ }
+
+ if (sdev->scsi_dh_data)
scsi_dh = sdev->scsi_dh_data->scsi_dh;
if (!scsi_dh || !get_device(&sdev->sdev_gendev))
err = SCSI_DH_NOSYS;