diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-31 16:10:33 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-31 16:10:33 -0700 |
commit | 91e67a996c60a347ad7b918a74efb0f6b3b274c3 (patch) | |
tree | 05fd872079b1199d112cc7508faf81b8490dd83f /drivers/platform/x86/wmi.c | |
parent | 1eb63378354ac37b7e27d256bbf84684751bac32 (diff) | |
parent | 1d1fc8a75fec3a2b29cc5864d45c5d03048f62e0 (diff) |
Merge branch 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86
* 'for_linus' of git://cavan.codon.org.uk/platform-drivers-x86: (45 commits)
acer-wmi: replaced the hard coded bitmap by the communication devices bitmap from SMBIOS
acer-wmi: check the existence of internal wireless device when set capability
acer-wmi: add ACER_WMID_v2 interface flag to represent new notebooks
sony-laptop:irq: Remove IRQF_DISABLED
asus-laptop: Add rfkill support for Pegatron Lucid tablet
asus-laptop: pega_accel - Report accelerometer orientation change through udev
asus-laptop: fix module description
asus-laptop: hide leds on Pegatron Lucid
asus-laptop: Pegatron Lucid accelerometer
asus-laptop: allow boot time control of Pegatron ALS sensor
Platform: samsung_laptop: add support for X520 machines.
platform: samsung_laptop: add dmi information for Samsung R700 laptops
hp_accel: Add axis-mapping for HP ProBook / EliteBook
hp_accel: Add a new PNP id
WMI: properly cleanup devices to avoid crashes
ideapad: remove sysfs node for cfg
ideapad: add debugfs support
ideapad: add event for Novo key
ideapad: change parameter of ideapad_sync_rfk_state
ideapad: define vpc commands
...
Diffstat (limited to 'drivers/platform/x86/wmi.c')
-rw-r--r-- | drivers/platform/x86/wmi.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c index f23d5a84e7b..9b88be42b6c 100644 --- a/drivers/platform/x86/wmi.c +++ b/drivers/platform/x86/wmi.c @@ -754,9 +754,13 @@ static void wmi_free_devices(void) struct wmi_block *wblock, *next; /* Delete devices for all the GUIDs */ - list_for_each_entry_safe(wblock, next, &wmi_block_list, list) + list_for_each_entry_safe(wblock, next, &wmi_block_list, list) { + list_del(&wblock->list); if (wblock->dev.class) device_unregister(&wblock->dev); + else + kfree(wblock); + } } static bool guid_already_parsed(const char *guid_string) |