acer-wmi: check the existence of internal wireless device when set capability
authorLee, Chun-Yi <joeyli.kernel@gmail.com>
Thu, 18 Aug 2011 10:47:34 +0000 (18:47 +0800)
committerMatthew Garrett <mjg@redhat.com>
Mon, 24 Oct 2011 14:52:42 +0000 (16:52 +0200)
That will be better to check the existence of internal wireless device
when we set wireless capability and generate killswitch for it. It can
avoid userland access wireless rfkill but the machine doesn't have internal
wireless device.

Tested on Acer Travelmate 8572

Cc: Carlos Corbacho <carlos@strangeworlds.co.uk>
Cc: Matthew Garrett <mjg@redhat.com>
Cc: Dmitry Torokhov <dtor@mail.ru>
Cc: Corentin Chary <corentincj@iksaif.net>
Cc: Thomas Renninger <trenn@suse.de>
Signed-off-by: Lee, Chun-Yi <jlee@suse.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
drivers/platform/x86/acer-wmi.c

index 017b1a7..ca52639 100644 (file)
@@ -1094,7 +1094,9 @@ static acpi_status WMID_set_capabilities(void)
                return AE_ERROR;
        }
 
-       interface->capability |= ACER_CAP_WIRELESS;
+       pr_info("Function bitmap for Communication Device: 0x%x\n", devices);
+       if (devices & 0x07)
+               interface->capability |= ACER_CAP_WIRELESS;
        if (devices & 0x40)
                interface->capability |= ACER_CAP_THREEG;
        if (devices & 0x10)