diff options
Diffstat (limited to 'drivers/misc/enclosure.c')
| -rw-r--r-- | drivers/misc/enclosure.c | 7 |
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) | |||
| 198 | { | 198 | { |
| 199 | char name[ENCLOSURE_NAME_SIZE]; | 199 | char name[ENCLOSURE_NAME_SIZE]; |
| 200 | 200 | ||
| 201 | /* | ||
| 202 | * In odd circumstances, like multipath devices, something else may | ||
| 203 | * already have removed the links, so check for this condition first. | ||
| 204 | */ | ||
| 205 | if (!cdev->dev->kobj.sd) | ||
| 206 | return; | ||
| 207 | |||
| 201 | enclosure_link_name(cdev, name); | 208 | enclosure_link_name(cdev, name); |
| 202 | sysfs_remove_link(&cdev->dev->kobj, name); | 209 | sysfs_remove_link(&cdev->dev->kobj, name); |
| 203 | sysfs_remove_link(&cdev->cdev.kobj, "device"); | 210 | sysfs_remove_link(&cdev->cdev.kobj, "device"); |
