ALUA is only relevant for disk-like devices, so we shouldn't
be printing out warning messages for other device types.

Signed-off-by: Hannes Reinecke <[email protected]>
---
 drivers/scsi/device_handler/scsi_dh_alua.c | 2 ++
 drivers/scsi/scsi_dh.c                     | 5 +++--
 drivers/scsi/scsi_sysfs.c                  | 7 +------
 3 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/drivers/scsi/device_handler/scsi_dh_alua.c 
b/drivers/scsi/device_handler/scsi_dh_alua.c
index 0962fd5..c3aea06 100644
--- a/drivers/scsi/device_handler/scsi_dh_alua.c
+++ b/drivers/scsi/device_handler/scsi_dh_alua.c
@@ -1100,6 +1100,8 @@ static int alua_bus_attach(struct scsi_device *sdev)
        err = alua_initialize(sdev, h);
        if (err == SCSI_DH_NOMEM)
                ret = -ENOMEM;
+       if (err == SCSI_DH_DEV_UNSUPP)
+               ret = -ENODEV;
        if (err != SCSI_DH_OK && err != SCSI_DH_DEV_OFFLINED)
                goto failed;
 
diff --git a/drivers/scsi/scsi_dh.c b/drivers/scsi/scsi_dh.c
index 84addee..16e780d 100644
--- a/drivers/scsi/scsi_dh.c
+++ b/drivers/scsi/scsi_dh.c
@@ -133,8 +133,9 @@ static int scsi_dh_handler_attach(struct scsi_device *sdev,
 
        error = scsi_dh->attach(sdev);
        if (error) {
-               sdev_printk(KERN_ERR, sdev, "%s: Attach failed (%d)\n",
-                           scsi_dh->name, error);
+               if (error != -ENODEV)
+                       sdev_printk(KERN_ERR, sdev, "%s: Attach failed (%d)\n",
+                                   scsi_dh->name, error);
                module_put(scsi_dh->module);
        } else
                sdev->handler = scsi_dh;
diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c
index d6984df..5e8ace2 100644
--- a/drivers/scsi/scsi_sysfs.c
+++ b/drivers/scsi/scsi_sysfs.c
@@ -1222,12 +1222,7 @@ int scsi_sysfs_add_sdev(struct scsi_device *sdev)
        scsi_autopm_get_device(sdev);
 
        error = scsi_dh_add_device(sdev);
-       if (error)
-               /*
-                * device_handler is optional, so any error can be ignored
-                */
-               sdev_printk(KERN_INFO, sdev,
-                               "failed to add device handler: %d\n", error);
+       /* device_handler is optional, so any error can be ignored */
 
        error = device_add(&sdev->sdev_gendev);
        if (error) {
-- 
1.8.5.6

Reply via email to