Skip to content

Commit

Permalink
acer-wmi: No wifi rfkill on Lenovo machines
Browse files Browse the repository at this point in the history
We have several reports which says acer-wmi is loaded on ideapads
and register rfkill for wifi which can not be unblocked.

Since ideapad-laptop also register rfkill for wifi and it works
reliably, it will be fine acer-wmi is not going to register rfkill
for wifi once VPC2004 is found.

Also put IBM0068/LEN0068 in the list. Though thinkpad_acpi has no
wifi rfkill capability, there are reports which says acer-wmi also
block wireless on Thinkpad E520/E420.

Signed-off-by: Ike Panhc <ike.pan@canonical.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
  • Loading branch information
ikepanhc authored and Matthew Garrett committed Mar 12, 2012
1 parent 2d24c49 commit 461e743
Showing 1 changed file with 29 additions and 1 deletion.
30 changes: 29 additions & 1 deletion drivers/platform/x86/acer-wmi.c
Expand Up @@ -679,6 +679,32 @@ static acpi_status AMW0_find_mailled(void)
return AE_OK;
}

static int AMW0_set_cap_acpi_check_device_found;

static acpi_status AMW0_set_cap_acpi_check_device_cb(acpi_handle handle,
u32 level, void *context, void **retval)
{
AMW0_set_cap_acpi_check_device_found = 1;
return AE_OK;
}

static const struct acpi_device_id norfkill_ids[] = {
{ "VPC2004", 0},
{ "IBM0068", 0},
{ "LEN0068", 0},
{ "", 0},
};

static int AMW0_set_cap_acpi_check_device(void)
{
const struct acpi_device_id *id;

for (id = norfkill_ids; id->id[0]; id++)
acpi_get_devices(id->id, AMW0_set_cap_acpi_check_device_cb,
NULL, NULL);
return AMW0_set_cap_acpi_check_device_found;
}

static acpi_status AMW0_set_capabilities(void)
{
struct wmab_args args;
Expand All @@ -692,7 +718,9 @@ static acpi_status AMW0_set_capabilities(void)
* work.
*/
if (wmi_has_guid(AMW0_GUID2)) {
interface->capability |= ACER_CAP_WIRELESS;
if ((quirks != &quirk_unknown) ||
!AMW0_set_cap_acpi_check_device())
interface->capability |= ACER_CAP_WIRELESS;
return AE_OK;
}

Expand Down

0 comments on commit 461e743

Please sign in to comment.