diff options
author | Hans de Goede <hdegoede@redhat.com> | 2013-12-06 06:17:27 -0500 |
---|---|---|
committer | Matthew Garrett <matthew.garrett@nebula.com> | 2014-01-21 08:44:17 -0500 |
commit | ba5194f18637a95692b5d146004d1aa8be08c525 (patch) | |
tree | 9b9358a44aa68b0d48c8112f94fe189fcb340eb6 /drivers/platform | |
parent | 694e523cfe07e908d170c6b9691882e101f82cd6 (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')
-rw-r--r-- | drivers/platform/x86/dell-laptop.c | 13 |
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 | ||
563 | static int __init dell_setup_rfkill(void) | 563 | static 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(); |