|
@@ -198,6 +198,13 @@ static void enclosure_remove_links(struct enclosure_component *cdev)
|
|
{
|
|
{
|
|
char name[ENCLOSURE_NAME_SIZE];
|
|
char name[ENCLOSURE_NAME_SIZE];
|
|
|
|
|
|
|
|
+ /*
|
|
|
|
+ * In odd circumstances, like multipath devices, something else may
|
|
|
|
+ * already have removed the links, so check for this condition first.
|
|
|
|
+ */
|
|
|
|
+ if (!cdev->dev->kobj.sd)
|
|
|
|
+ return;
|
|
|
|
+
|
|
enclosure_link_name(cdev, name);
|
|
enclosure_link_name(cdev, name);
|
|
sysfs_remove_link(&cdev->dev->kobj, name);
|
|
sysfs_remove_link(&cdev->dev->kobj, name);
|
|
sysfs_remove_link(&cdev->cdev.kobj, "device");
|
|
sysfs_remove_link(&cdev->cdev.kobj, "device");
|