]> Pileus Git - ~andy/linux/commitdiff
dell-laptop: rkill whitelist Precision models
authorHans de Goede <hdegoede@redhat.com>
Fri, 6 Dec 2013 11:17:27 +0000 (12:17 +0100)
committerMatthew Garrett <matthew.garrett@nebula.com>
Tue, 21 Jan 2014 13:44:17 +0000 (08:44 -0500)
Given that Precision mobile workstations are top of the line Dell products,
I expect the functionality of rfkill there to be as reliable as on Latitudes
so whitelist Precisions.

https://bugzilla.kernel.org/show_bug.cgi?id=65731

Reported-by: Calum Lind <calumlind@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
drivers/platform/x86/dell-laptop.c

index 9d7d6a02ae075c725f26f24ffd6873d58ac6aa17..d2ceb761a7a2d5e717f93f04e20ccfd566df6407 100644 (file)
@@ -562,16 +562,19 @@ static DECLARE_DELAYED_WORK(dell_rfkill_work, dell_update_rfkill);
 
 static int __init dell_setup_rfkill(void)
 {
-       int status;
-       int ret;
+       int status, ret, whitelisted;
        const char *product;
 
        /*
-        * rfkill causes trouble on various non Latitudes, according to Dell
-        * actually testing the rfkill functionality is only done on Latitudes.
+        * rfkill support causes trouble on various models, mostly Inspirons.
+        * So we whitelist certain series, and don't support rfkill on others.
         */
+       whitelisted = 0;
        product = dmi_get_system_info(DMI_PRODUCT_NAME);
-       if (!force_rfkill && (!product || strncmp(product, "Latitude", 8)))
+       if (product &&  (strncmp(product, "Latitude", 8) == 0 ||
+                        strncmp(product, "Precision", 9) == 0))
+               whitelisted = 1;
+       if (!force_rfkill && !whitelisted)
                return 0;
 
        get_buffer();