aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/platform/x86/wmi.c
Commit message (Collapse)AuthorAgeFilesLines
...
* wmi: Free the allocated acpi objects through wmi_get_event_dataAnisse Astier2009-12-241-2/+2
| | | | | | | | | | | | These function allocate an acpi object by calling wmi_get_event_data, which then calls acpi_evaluate_object, and it is not freed afterwards. And kernel doc is fixed for parameters of wmi_get_event_data. Signed-off-by: Anisse Astier <[email protected]> Acked-by: Randy Dunlap <[email protected]> Acked-by: Carlos Corbacho <[email protected]> Signed-off-by: Len Brown <[email protected]>
* wmi: Add support for module autoloadingMatthew Garrett2009-11-051-2/+173
| | | | | | | | | | | | | | WMI provides interface-specific GUIDs that are exported from modules as modalises, but the core currently generates no events to trigger module loading. This patch adds support for registering devices for each WMI GUID and generating the appropriate uevent. Based heavily on a patch by Carlos Corbacho (<[email protected]>). Signed-off-by: Matthew Garrett <[email protected]> Tested-by: Carlos Corbacho <[email protected]> Acked-by: Carlos Corbacho <[email protected]> Signed-off-by: Len Brown <[email protected]>
* ACPI: Move definition of PREFIX from acpi_bus.h to internal..hLen Brown2009-08-281-1/+0
| | | | | | | | | | | | | Linux/ACPI core files using internal.h all PREFIX "ACPI: ", however, not all ACPI drivers use/want it -- and they should not have to #undef PREFIX to define their own. Add GPL commment to internal.h while we are there. This does not change any actual console output, asside from a whitespace fix. Signed-off-by: Len Brown <[email protected]>
* wmi: fix kernel panic when stack protection enabled.Costantino Leandro2009-08-271-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Kernel panic arise when stack protection is enabled, since strncat will add a null terminating byte '\0'; So in functions like this one (wmi_query_block): char wc[4]="WC"; .... strncat(method, block->object_id, 2); ... the length of wc should be n+1 (wc[5]) or stack protection fault will arise. This is not noticeable when stack protection is disabled,but , isn't good either. Config used: [CONFIG_CC_STACKPROTECTOR_ALL=y, CONFIG_CC_STACKPROTECTOR=y] Panic Trace ------------ .... stack-protector: kernel stack corrupted in : fa7b182c 2.6.30-rc8-obelisco-generic call_trace: [<c04a6c40>] ? panic+0x45/0xd9 [<c012925d>] ? __stack_chk_fail+0x1c/0x40 [<fa7b182c>] ? wmi_query_block+0x15a/0x162 [wmi] [<fa7b182c>] ? wmi_query_block+0x15a/0x162 [wmi] [<fa7e7000>] ? acer_wmi_init+0x00/0x61a [acer_wmi] [<fa7e7135>] ? acer_wmi_init+0x135/0x61a [acer_wmi] [<c0101159>] ? do_one_initcall+0x50+0x126 Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13514 Signed-off-by: Costantino Leandro <[email protected]> Signed-off-by: Carlos Corbacho <[email protected]> Cc: Len Brown <[email protected]> Cc: Bjorn Helgaas <[email protected]> Cc: "Rafael J. Wysocki" <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
* ACPI: WMI: use .notify method instead of installing handler directlyBjorn Helgaas2009-04-071-12/+3
| | | | | | | | | | This patch adds a .notify() method. The presence of .notify() causes Linux/ACPI to manage event handlers and notify handlers on our behalf, so we don't have to install and remove them ourselves. Signed-off-by: Bjorn Helgaas <[email protected]> CC: Carlos Corbacho <[email protected]> Signed-off-by: Len Brown <[email protected]>
* acpi-wmi: unsigned cannot be less than 0Roel Kluin2009-03-161-1/+1
| | | | | | | | | | | | | include/linux/pci-acpi.h:74: typedef u32 acpi_status; result is unsigned, so an error returned by acpi_bus_register_driver() will not be noticed. Signed-off-by: Roel Kluin <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Len Brown <[email protected]>
* ACPI: move wmi, asus_acpi, toshiba_acpi to drivers/platform/x86Len Brown2008-12-191-0/+747
These are platform specific drivers that happen to use ACPI, while drivers/acpi/ is for code that implements ACPI itself. Signed-off-by: Len Brown <[email protected]>