diff options
Diffstat (limited to 'drivers/scsi/scsi_scan.c')
| -rw-r--r-- | drivers/scsi/scsi_scan.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index 5acb83ca5ae5..f9ecc3dea7df 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c | |||
| @@ -752,8 +752,20 @@ static int scsi_add_lun(struct scsi_device *sdev, char *inq_result, int *bflags) | |||
| 752 | 752 | ||
| 753 | transport_configure_device(&sdev->sdev_gendev); | 753 | transport_configure_device(&sdev->sdev_gendev); |
| 754 | 754 | ||
| 755 | if (sdev->host->hostt->slave_configure) | 755 | if (sdev->host->hostt->slave_configure) { |
| 756 | sdev->host->hostt->slave_configure(sdev); | 756 | int ret = sdev->host->hostt->slave_configure(sdev); |
| 757 | if (ret) { | ||
| 758 | /* | ||
| 759 | * if LLDD reports slave not present, don't clutter | ||
| 760 | * console with alloc failure messages | ||
| 761 | */ | ||
| 762 | if (ret != -ENXIO) { | ||
| 763 | sdev_printk(KERN_ERR, sdev, | ||
| 764 | "failed to configure device\n"); | ||
| 765 | } | ||
| 766 | return SCSI_SCAN_NO_RESPONSE; | ||
| 767 | } | ||
| 768 | } | ||
| 757 | 769 | ||
| 758 | /* | 770 | /* |
| 759 | * Ok, the device is now all set up, we can | 771 | * Ok, the device is now all set up, we can |
