48f65f6
From 221255aee67ec1c752001080aafec0c4e9390d95 Mon Sep 17 00:00:00 2001
48f65f6
From: Hannes Reinecke <hare@suse.de>
48f65f6
Date: Tue, 1 Dec 2015 10:16:42 +0100
48f65f6
Subject: scsi: ignore errors from scsi_dh_add_device()
48f65f6
48f65f6
device handler initialisation might fail due to a number of
48f65f6
reasons. But as device_handlers are optional this shouldn't
48f65f6
cause us to disable the device entirely.
48f65f6
So just ignore errors from scsi_dh_add_device().
48f65f6
48f65f6
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.com>
48f65f6
Reviewed-by: Christoph Hellwig <hch@lst.de>
48f65f6
Signed-off-by: Hannes Reinecke <hare@suse.de>
48f65f6
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
48f65f6
---
48f65f6
 drivers/scsi/scsi_sysfs.c | 7 ++++---
48f65f6
 1 file changed, 4 insertions(+), 3 deletions(-)
48f65f6
48f65f6
diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c
48f65f6
index fc3cd26..d015374 100644
48f65f6
--- a/drivers/scsi/scsi_sysfs.c
48f65f6
+++ b/drivers/scsi/scsi_sysfs.c
48f65f6
@@ -1120,11 +1120,12 @@ int scsi_sysfs_add_sdev(struct scsi_device *sdev)
48f65f6
 	}
48f65f6
 
48f65f6
 	error = scsi_dh_add_device(sdev);
48f65f6
-	if (error) {
48f65f6
+	if (error)
48f65f6
+		/*
48f65f6
+		 * device_handler is optional, so any error can be ignored
48f65f6
+		 */
48f65f6
 		sdev_printk(KERN_INFO, sdev,
48f65f6
 				"failed to add device handler: %d\n", error);
48f65f6
-		return error;
48f65f6
-	}
48f65f6
 
48f65f6
 	device_enable_async_suspend(&sdev->sdev_dev);
48f65f6
 	error = device_add(&sdev->sdev_dev);
48f65f6
-- 
48f65f6
cgit v0.11.2
48f65f6