diff options
Diffstat (limited to 'drivers/pci/hotplug')
-rw-r--r-- | drivers/pci/hotplug/shpchp.h | 2 | ||||
-rw-r--r-- | drivers/pci/hotplug/shpchp_core.c | 6 | ||||
-rw-r--r-- | drivers/pci/hotplug/shpchp_sysfs.c | 4 |
3 files changed, 8 insertions, 4 deletions
diff --git a/drivers/pci/hotplug/shpchp.h b/drivers/pci/hotplug/shpchp.h index 7208b95c6ee7..c7103ac5cd06 100644 --- a/drivers/pci/hotplug/shpchp.h +++ b/drivers/pci/hotplug/shpchp.h | |||
@@ -173,7 +173,7 @@ struct controller { | |||
173 | #define msg_button_cancel "PCI slot #%s - action canceled due to button press.\n" | 173 | #define msg_button_cancel "PCI slot #%s - action canceled due to button press.\n" |
174 | 174 | ||
175 | /* sysfs functions for the hotplug controller info */ | 175 | /* sysfs functions for the hotplug controller info */ |
176 | extern void shpchp_create_ctrl_files (struct controller *ctrl); | 176 | extern int __must_check shpchp_create_ctrl_files(struct controller *ctrl); |
177 | 177 | ||
178 | extern int shpchp_sysfs_enable_slot(struct slot *slot); | 178 | extern int shpchp_sysfs_enable_slot(struct slot *slot); |
179 | extern int shpchp_sysfs_disable_slot(struct slot *slot); | 179 | extern int shpchp_sysfs_disable_slot(struct slot *slot); |
diff --git a/drivers/pci/hotplug/shpchp_core.c b/drivers/pci/hotplug/shpchp_core.c index a14e7de19846..235c18a22393 100644 --- a/drivers/pci/hotplug/shpchp_core.c +++ b/drivers/pci/hotplug/shpchp_core.c | |||
@@ -449,10 +449,14 @@ static int shpc_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
449 | ctrl->speed = PCI_SPEED_33MHz; | 449 | ctrl->speed = PCI_SPEED_33MHz; |
450 | } | 450 | } |
451 | 451 | ||
452 | shpchp_create_ctrl_files(ctrl); | 452 | rc = shpchp_create_ctrl_files(ctrl); |
453 | if (rc) | ||
454 | goto err_cleanup_slots; | ||
453 | 455 | ||
454 | return 0; | 456 | return 0; |
455 | 457 | ||
458 | err_cleanup_slots: | ||
459 | cleanup_slots(ctrl); | ||
456 | err_out_release_ctlr: | 460 | err_out_release_ctlr: |
457 | ctrl->hpc_ops->release_ctlr(ctrl); | 461 | ctrl->hpc_ops->release_ctlr(ctrl); |
458 | err_out_free_ctrl: | 462 | err_out_free_ctrl: |
diff --git a/drivers/pci/hotplug/shpchp_sysfs.c b/drivers/pci/hotplug/shpchp_sysfs.c index 620e1139e607..29fa9d26adae 100644 --- a/drivers/pci/hotplug/shpchp_sysfs.c +++ b/drivers/pci/hotplug/shpchp_sysfs.c | |||
@@ -91,9 +91,9 @@ static ssize_t show_ctrl (struct device *dev, struct device_attribute *attr, cha | |||
91 | } | 91 | } |
92 | static DEVICE_ATTR (ctrl, S_IRUGO, show_ctrl, NULL); | 92 | static DEVICE_ATTR (ctrl, S_IRUGO, show_ctrl, NULL); |
93 | 93 | ||
94 | void shpchp_create_ctrl_files (struct controller *ctrl) | 94 | int __must_check shpchp_create_ctrl_files (struct controller *ctrl) |
95 | { | 95 | { |
96 | device_create_file (&ctrl->pci_dev->dev, &dev_attr_ctrl); | 96 | return device_create_file (&ctrl->pci_dev->dev, &dev_attr_ctrl); |
97 | } | 97 | } |
98 | 98 | ||
99 | void shpchp_remove_ctrl_files(struct controller *ctrl) | 99 | void shpchp_remove_ctrl_files(struct controller *ctrl) |