Hi Ike, 於 五,2012-02-03 於 16:46 +0800,Ike Panhc 提到: > 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@xxxxxxxxxxxxx> Thanks for your patch, it's good to me after tested. Tested on Acer TravelMate 4750. Signed-off-by: Lee, Chun-Yi <jlee@xxxxxxxx> Thanks a lot! Joey Lee > --- > 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 b848277..1e5290b 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) > 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; > @@ -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; > } > -- To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html