diff options
Diffstat (limited to 'drivers/scsi/device_handler/scsi_dh_rdac.c')
-rw-r--r-- | drivers/scsi/device_handler/scsi_dh_rdac.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/scsi/device_handler/scsi_dh_rdac.c b/drivers/scsi/device_handler/scsi_dh_rdac.c index 6fff077a888d..fdf34b0ec6e1 100644 --- a/drivers/scsi/device_handler/scsi_dh_rdac.c +++ b/drivers/scsi/device_handler/scsi_dh_rdac.c | |||
@@ -608,12 +608,17 @@ static int rdac_bus_notify(struct notifier_block *nb, | |||
608 | unsigned long action, void *data) | 608 | unsigned long action, void *data) |
609 | { | 609 | { |
610 | struct device *dev = data; | 610 | struct device *dev = data; |
611 | struct scsi_device *sdev = to_scsi_device(dev); | 611 | struct scsi_device *sdev; |
612 | struct scsi_dh_data *scsi_dh_data; | 612 | struct scsi_dh_data *scsi_dh_data; |
613 | struct rdac_dh_data *h; | 613 | struct rdac_dh_data *h; |
614 | int i, found = 0; | 614 | int i, found = 0; |
615 | unsigned long flags; | 615 | unsigned long flags; |
616 | 616 | ||
617 | if (!scsi_is_sdev_device(dev)) | ||
618 | return 0; | ||
619 | |||
620 | sdev = to_scsi_device(dev); | ||
621 | |||
617 | if (action == BUS_NOTIFY_ADD_DEVICE) { | 622 | if (action == BUS_NOTIFY_ADD_DEVICE) { |
618 | for (i = 0; rdac_dev_list[i].vendor; i++) { | 623 | for (i = 0; rdac_dev_list[i].vendor; i++) { |
619 | if (!strncmp(sdev->vendor, rdac_dev_list[i].vendor, | 624 | if (!strncmp(sdev->vendor, rdac_dev_list[i].vendor, |