aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/platform/x86
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2013-12-06 06:17:27 -0500
committerMatthew Garrett <matthew.garrett@nebula.com>2014-01-21 08:44:17 -0500
commitba5194f18637a95692b5d146004d1aa8be08c525 (patch)
tree9b9358a44aa68b0d48c8112f94fe189fcb340eb6 /drivers/platform/x86
parent694e523cfe07e908d170c6b9691882e101f82cd6 (diff)
dell-laptop: rkill whitelist Precision models
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>
Diffstat (limited to 'drivers/platform/x86')
-rw-r--r--drivers/platform/x86/dell-laptop.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/platform/x86/dell-laptop.c b/drivers/platform/x86/dell-laptop.c
index 9d7d6a02ae07..d2ceb761a7a2 100644
--- a/drivers/platform/x86/dell-laptop.c
+++ b/drivers/platform/x86/dell-laptop.c
@@ -562,16 +562,19 @@ static DECLARE_DELAYED_WORK(dell_rfkill_work, dell_update_rfkill);
562 562
563static int __init dell_setup_rfkill(void) 563static int __init dell_setup_rfkill(void)
564{ 564{
565 int status; 565 int status, ret, whitelisted;
566 int ret;
567 const char *product; 566 const char *product;
568 567
569 /* 568 /*
570 * rfkill causes trouble on various non Latitudes, according to Dell 569 * rfkill support causes trouble on various models, mostly Inspirons.
571 * actually testing the rfkill functionality is only done on Latitudes. 570 * So we whitelist certain series, and don't support rfkill on others.
572 */ 571 */
572 whitelisted = 0;
573 product = dmi_get_system_info(DMI_PRODUCT_NAME); 573 product = dmi_get_system_info(DMI_PRODUCT_NAME);
574 if (!force_rfkill && (!product || strncmp(product, "Latitude", 8))) 574 if (product && (strncmp(product, "Latitude", 8) == 0 ||
575 strncmp(product, "Precision", 9) == 0))
576 whitelisted = 1;
577 if (!force_rfkill && !whitelisted)
575 return 0; 578 return 0;
576 579
577 get_buffer(); 580 get_buffer();