Skip to content

Commit

Permalink
Clean up all objects used by scm model when driver initial fail or exit
Browse files Browse the repository at this point in the history
Clean up i8042 filter, rfkill and cancel delayed work when msi-laptop driver initial fail or exit on MSI scm model.

Signed-off-by: Lee, Chun-Yi <jlee@novell.com>
  • Loading branch information
Lee, Chun-Yi authored and Matthew Garrett committed May 20, 2010
1 parent 1ac3407 commit 7ab5252
Showing 1 changed file with 10 additions and 3 deletions.
13 changes: 10 additions & 3 deletions drivers/platform/x86/msi-laptop.c
Original file line number Diff line number Diff line change
Expand Up @@ -859,6 +859,11 @@ static int __init msi_init(void)

fail_platform_device2:

if (load_scm_model) {
i8042_remove_filter(msi_laptop_i8042_filter);
cancel_delayed_work_sync(&msi_rfkill_work);
rfkill_cleanup();
}
platform_device_del(msipf_device);

fail_platform_device1:
Expand All @@ -878,6 +883,11 @@ static int __init msi_init(void)

static void __exit msi_cleanup(void)
{
if (load_scm_model) {
i8042_remove_filter(msi_laptop_i8042_filter);
cancel_delayed_work_sync(&msi_rfkill_work);
rfkill_cleanup();
}

sysfs_remove_group(&msipf_device->dev.kobj, &msipf_attribute_group);
if (!old_ec_model && threeg_exists)
Expand All @@ -886,9 +896,6 @@ static void __exit msi_cleanup(void)
platform_driver_unregister(&msipf_driver);
backlight_device_unregister(msibl_device);

i8042_remove_filter(msi_laptop_i8042_filter);
rfkill_cleanup();

/* Enable automatic brightness control again */
if (auto_brightness != 2)
set_auto_brightness(1);
Expand Down

0 comments on commit 7ab5252

Please sign in to comment.