diff options
Diffstat (limited to 'ideapad-laptop-Blacklist-rfkill-control-on-the-Lenov.patch')
-rw-r--r-- | ideapad-laptop-Blacklist-rfkill-control-on-the-Lenov.patch | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/ideapad-laptop-Blacklist-rfkill-control-on-the-Lenov.patch b/ideapad-laptop-Blacklist-rfkill-control-on-the-Lenov.patch deleted file mode 100644 index 29df8d781..000000000 --- a/ideapad-laptop-Blacklist-rfkill-control-on-the-Lenov.patch +++ /dev/null @@ -1,73 +0,0 @@ -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1021036 -Upstream-status: Accepted into 3.16 - -From ec5a006650d13c183124bd4279b95625f85efc6d Mon Sep 17 00:00:00 2001 -From: Hans de Goede <hdegoede@redhat.com> -Date: Mon, 2 Jun 2014 17:41:00 +0200 -Subject: [PATCH 03/14] ideapad-laptop: Blacklist rfkill control on the Lenovo - Yoga 2 11 - -The Lenovo Yoga 2 11 always reports everything as blocked, causing userspace -to not even try to use the wlan / bluetooth even though they work fine. - -Note this patch also removes the "else priv->rfk[i] = NULL;" bit of the -rfkill initialization, it is not necessary as the priv struct is allocated -with kzalloc. - -Reported-and-tested-by: Vincent Gerris <vgerris@gmail.com> -Signed-off-by: Hans de Goede <hdegoede@redhat.com> ---- - drivers/platform/x86/ideapad-laptop.c | 23 ++++++++++++++++++----- - 1 file changed, 18 insertions(+), 5 deletions(-) - -diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c -index 6dd060a0bb65..219eb289a909 100644 ---- a/drivers/platform/x86/ideapad-laptop.c -+++ b/drivers/platform/x86/ideapad-laptop.c -@@ -36,6 +36,7 @@ - #include <linux/debugfs.h> - #include <linux/seq_file.h> - #include <linux/i8042.h> -+#include <linux/dmi.h> - - #define IDEAPAD_RFKILL_DEV_NUM (3) - -@@ -819,6 +820,19 @@ static void ideapad_acpi_notify(acpi_handle handle, u32 event, void *data) - } - } - -+/* Blacklist for devices where the ideapad rfkill interface does not work */ -+static struct dmi_system_id rfkill_blacklist[] = { -+ /* The Lenovo Yoga 2 11 always reports everything as blocked */ -+ { -+ .ident = "Lenovo Yoga 2 11", -+ .matches = { -+ DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), -+ DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo Yoga 2 11"), -+ }, -+ }, -+ {} -+}; -+ - static int ideapad_acpi_add(struct platform_device *pdev) - { - int ret, i; -@@ -854,11 +868,10 @@ static int ideapad_acpi_add(struct platform_device *pdev) - if (ret) - goto input_failed; - -- for (i = 0; i < IDEAPAD_RFKILL_DEV_NUM; i++) { -- if (test_bit(ideapad_rfk_data[i].cfgbit, &priv->cfg)) -- ideapad_register_rfkill(priv, i); -- else -- priv->rfk[i] = NULL; -+ if (!dmi_check_system(rfkill_blacklist)) { -+ for (i = 0; i < IDEAPAD_RFKILL_DEV_NUM; i++) -+ if (test_bit(ideapad_rfk_data[i].cfgbit, &priv->cfg)) -+ ideapad_register_rfkill(priv, i); - } - ideapad_sync_rfk_state(priv); - ideapad_sync_touchpad_state(priv); --- -1.9.0 - |