summaryrefslogtreecommitdiff
path: root/drivers/misc/enclosure.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-12-16 17:12:04 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-12-16 17:12:04 -0800
commit5c5bccb76cb94888f40ebd5584b81646632e9c3f (patch)
treeee949fa6cc1dbe2632154b38ef6dd28f6185d218 /drivers/misc/enclosure.c
parent24b3aa09970304ece816e73c3d7174d0dd315b98 (diff)
parent319e2e3f63c348a9b66db4667efa73178e18b17d (diff)
Merge 3.13-rc4 into staging-next.
We want the fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc/enclosure.c')
-rw-r--r--drivers/misc/enclosure.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/misc/enclosure.c b/drivers/misc/enclosure.c
index 0e8df41aaf14..2cf2bbc0b927 100644
--- a/drivers/misc/enclosure.c
+++ b/drivers/misc/enclosure.c
@@ -198,6 +198,13 @@ static void enclosure_remove_links(struct enclosure_component *cdev)
{
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);
sysfs_remove_link(&cdev->dev->kobj, name);
sysfs_remove_link(&cdev->cdev.kobj, "device");