Skip to content

Commit

Permalink
[PATCH] shpchp: fix oops at driver unload
Browse files Browse the repository at this point in the history
At unload time, the shpchp driver does not remove sysfs files
it had created in the driver's probe entry point. This patch
fixes this problem.

Signed-off-by: Rajesh Shah <rajesh.shah@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
rajesh.shah@intel.com authored and Greg Kroah-Hartman committed Oct 28, 2005
1 parent 7c8942f commit c2608a1
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 0 deletions.
1 change: 1 addition & 0 deletions drivers/pci/hotplug/shpchp.h
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ extern void get_hp_params_from_firmware(struct pci_dev *dev,
struct hotplug_params *hpp);
extern int shpchprm_get_physical_slot_number(struct controller *ctrl,
u32 *sun, u8 busnum, u8 devnum);
extern void shpchp_remove_ctrl_files(struct controller *ctrl);


/* Global variables */
Expand Down
1 change: 1 addition & 0 deletions drivers/pci/hotplug/shpchp_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -480,6 +480,7 @@ static void __exit unload_shpchpd(void)
ctrl = shpchp_ctrl_list;

while (ctrl) {
shpchp_remove_ctrl_files(ctrl);
cleanup_slots(ctrl);

kfree (ctrl->pci_bus);
Expand Down
5 changes: 5 additions & 0 deletions drivers/pci/hotplug/shpchp_sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -89,3 +89,8 @@ void shpchp_create_ctrl_files (struct controller *ctrl)
{
device_create_file (&ctrl->pci_dev->dev, &dev_attr_ctrl);
}

void shpchp_remove_ctrl_files(struct controller *ctrl)
{
device_remove_file(&ctrl->pci_dev->dev, &dev_attr_ctrl);
}

0 comments on commit c2608a1

Please sign in to comment.