279f8f9549
\AMW0.WMBC, which is the main method that we use, is not reentrant. When wireless hotpluging is enabled, toggling the status of the wireless device using WMBC will trigger a notification and the notification handler need to call WMBC again to get the new status of the device, this will trigger the following error: ACPI Error (dswload-0802): [_T_0] Namespace lookup failure, AE_ALREADY_EXISTS ACPI Exception: AE_ALREADY_EXISTS, During name lookup/catalog (20100428/psloop-231) ACPI Error (psparse-0537): Method parse/execution failed [\AMW0.WMBC] (Node f7023b88), AE_ALREADY_EXISTS ACPI: Marking method WMBC as Serialized because of AE_ALREADY_EXISTS error Since there is currently no way to tell the acpi subsystem to mark a method as serialized, we do it in eeepc-wmi. Of course, we could let the first call fail, and then it would work, but it doesn't seems really clean, and it will make the first WMBC call return a random value. This patch was tested on EeePc 1000H with a RaLink RT2860 wireless card using the rt2800pci driver. rt2860sta driver seems to deadlock when we remove the pci device... Signed-off-by: Corentin Chary <corentincj@iksaif.net> Signed-off-by: Matthew Garrett <mjg@redhat.com> |
||
---|---|---|
.. | ||
acer-wmi.c | ||
acerhdf.c | ||
asus_acpi.c | ||
asus-laptop.c | ||
classmate-laptop.c | ||
compal-laptop.c | ||
dell-laptop.c | ||
dell-wmi.c | ||
eeepc-laptop.c | ||
eeepc-wmi.c | ||
fujitsu-laptop.c | ||
hdaps.c | ||
hp_accel.c | ||
hp-wmi.c | ||
ibm_rtl.c | ||
ideapad-laptop.c | ||
intel_ips.c | ||
intel_ips.h | ||
intel_menlow.c | ||
intel_pmic_gpio.c | ||
intel_rar_register.c | ||
intel_scu_ipc.c | ||
intel_scu_ipcutil.c | ||
Kconfig | ||
Makefile | ||
msi-laptop.c | ||
msi-wmi.c | ||
panasonic-laptop.c | ||
sony-laptop.c | ||
tc1100-wmi.c | ||
thinkpad_acpi.c | ||
topstar-laptop.c | ||
toshiba_acpi.c | ||
toshiba_bluetooth.c | ||
wmi.c | ||
xo1-rfkill.c | ||
xo15-ebook.c |