diff options
Diffstat (limited to 'drivers/scsi/device_handler/scsi_dh_emc.c')
-rw-r--r-- | drivers/scsi/device_handler/scsi_dh_emc.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/scsi/device_handler/scsi_dh_emc.c b/drivers/scsi/device_handler/scsi_dh_emc.c index ed53f14007a2..f2467e936e55 100644 --- a/drivers/scsi/device_handler/scsi_dh_emc.c +++ b/drivers/scsi/device_handler/scsi_dh_emc.c | |||
@@ -416,12 +416,17 @@ static int clariion_bus_notify(struct notifier_block *nb, | |||
416 | unsigned long action, void *data) | 416 | unsigned long action, void *data) |
417 | { | 417 | { |
418 | struct device *dev = data; | 418 | struct device *dev = data; |
419 | struct scsi_device *sdev = to_scsi_device(dev); | 419 | struct scsi_device *sdev; |
420 | struct scsi_dh_data *scsi_dh_data; | 420 | struct scsi_dh_data *scsi_dh_data; |
421 | struct clariion_dh_data *h; | 421 | struct clariion_dh_data *h; |
422 | int i, found = 0; | 422 | int i, found = 0; |
423 | unsigned long flags; | 423 | unsigned long flags; |
424 | 424 | ||
425 | if (!scsi_is_sdev_device(dev)) | ||
426 | return 0; | ||
427 | |||
428 | sdev = to_scsi_device(dev); | ||
429 | |||
425 | if (action == BUS_NOTIFY_ADD_DEVICE) { | 430 | if (action == BUS_NOTIFY_ADD_DEVICE) { |
426 | for (i = 0; clariion_dev_list[i].vendor; i++) { | 431 | for (i = 0; clariion_dev_list[i].vendor; i++) { |
427 | if (!strncmp(sdev->vendor, clariion_dev_list[i].vendor, | 432 | if (!strncmp(sdev->vendor, clariion_dev_list[i].vendor, |