diff options
| -rw-r--r-- | drivers/platform/x86/acer-wmi.c | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wmi.c index b848277171a4..1e5290b5396d 100644 --- a/drivers/platform/x86/acer-wmi.c +++ b/drivers/platform/x86/acer-wmi.c | |||
| @@ -679,6 +679,32 @@ static acpi_status AMW0_find_mailled(void) | |||
| 679 | return AE_OK; | 679 | return AE_OK; |
| 680 | } | 680 | } |
| 681 | 681 | ||
| 682 | static int AMW0_set_cap_acpi_check_device_found; | ||
| 683 | |||
| 684 | static acpi_status AMW0_set_cap_acpi_check_device_cb(acpi_handle handle, | ||
| 685 | u32 level, void *context, void **retval) | ||
| 686 | { | ||
| 687 | AMW0_set_cap_acpi_check_device_found = 1; | ||
| 688 | return AE_OK; | ||
| 689 | } | ||
| 690 | |||
| 691 | static const struct acpi_device_id norfkill_ids[] = { | ||
| 692 | { "VPC2004", 0}, | ||
| 693 | { "IBM0068", 0}, | ||
| 694 | { "LEN0068", 0}, | ||
| 695 | { "", 0}, | ||
| 696 | }; | ||
| 697 | |||
| 698 | static int AMW0_set_cap_acpi_check_device(void) | ||
| 699 | { | ||
| 700 | const struct acpi_device_id *id; | ||
| 701 | |||
| 702 | for (id = norfkill_ids; id->id[0]; id++) | ||
| 703 | acpi_get_devices(id->id, AMW0_set_cap_acpi_check_device_cb, | ||
| 704 | NULL, NULL); | ||
| 705 | return AMW0_set_cap_acpi_check_device_found; | ||
| 706 | } | ||
| 707 | |||
| 682 | static acpi_status AMW0_set_capabilities(void) | 708 | static acpi_status AMW0_set_capabilities(void) |
| 683 | { | 709 | { |
| 684 | struct wmab_args args; | 710 | struct wmab_args args; |
| @@ -692,7 +718,9 @@ static acpi_status AMW0_set_capabilities(void) | |||
| 692 | * work. | 718 | * work. |
| 693 | */ | 719 | */ |
| 694 | if (wmi_has_guid(AMW0_GUID2)) { | 720 | if (wmi_has_guid(AMW0_GUID2)) { |
| 695 | interface->capability |= ACER_CAP_WIRELESS; | 721 | if ((quirks != &quirk_unknown) || |
| 722 | !AMW0_set_cap_acpi_check_device()) | ||
| 723 | interface->capability |= ACER_CAP_WIRELESS; | ||
| 696 | return AE_OK; | 724 | return AE_OK; |
| 697 | } | 725 | } |
| 698 | 726 | ||
