mirror of https://gitee.com/openkylin/linux.git
[PATCH] shpchp: fix oops at driver unload
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>
This commit is contained in:
parent
7c8942f993
commit
c2608a111b
|
@ -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 */
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue