From 9ce4ee9d442f7ad11cabc2a77956024f6cacadef Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Oct 30 2017 13:06:33 +0000 Subject: Fix for peaq_wmi nul spew (rhbz 1497861) --- diff --git a/0001-platform-x86-peaq-wmi-Add-DMI-check-before-binding-t.patch b/0001-platform-x86-peaq-wmi-Add-DMI-check-before-binding-t.patch new file mode 100644 index 0000000..2242e2d --- /dev/null +++ b/0001-platform-x86-peaq-wmi-Add-DMI-check-before-binding-t.patch @@ -0,0 +1,72 @@ +From 0e9df6a74f9573409e5a2fbe29c1389188280bfc Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Thu, 5 Oct 2017 16:02:33 +0200 +Subject: [PATCH] platform/x86: peaq-wmi: Add DMI check before binding to the + WMI interface + +It seems that the WMI GUID used by the PEAQ 2-in-1 WMI hotkeys is not +as unique as a GUID should be and is used on some other devices too. + +This is causing spurious key-press reports on these other devices. + +This commits adds a DMI check to the PEAQ 2-in-1 WMI hotkeys driver to +ensure that it is actually running on a PEAQ 2-in-1, fixing the +spurious key-presses on these other devices. + +BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1497861 +BugLink: https://bugzilla.suse.com/attachment.cgi?id=743182 +Cc: stable@vger.kernel.org +Signed-off-by: Hans de Goede +--- + drivers/platform/x86/peaq-wmi.c | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git a/drivers/platform/x86/peaq-wmi.c b/drivers/platform/x86/peaq-wmi.c +index bc98ef95514a..67fa3fa32011 100644 +--- a/drivers/platform/x86/peaq-wmi.c ++++ b/drivers/platform/x86/peaq-wmi.c +@@ -8,6 +8,7 @@ + */ + + #include ++#include + #include + #include + #include +@@ -64,8 +65,23 @@ static void peaq_wmi_poll(struct input_polled_dev *dev) + } + } + ++/* Some other devices (Shuttle XS35) use the same WMI GUID for other purposes */ ++static const struct dmi_system_id peaq_dmi_table[] = { ++ { ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "PEAQ"), ++ DMI_MATCH(DMI_PRODUCT_NAME, "PEAQ PMM C1010 MD99187"), ++ }, ++ }, ++ {} ++}; ++ + static int __init peaq_wmi_init(void) + { ++ /* WMI GUID is not unique, also check for a DMI match */ ++ if (!dmi_check_system(peaq_dmi_table)) ++ return -ENODEV; ++ + if (!wmi_has_guid(PEAQ_DOLBY_BUTTON_GUID)) + return -ENODEV; + +@@ -86,6 +101,9 @@ static int __init peaq_wmi_init(void) + + static void __exit peaq_wmi_exit(void) + { ++ if (!dmi_check_system(peaq_dmi_table)) ++ return; ++ + if (!wmi_has_guid(PEAQ_DOLBY_BUTTON_GUID)) + return; + +-- +2.14.2 + diff --git a/kernel.spec b/kernel.spec index 6ce29eb..a73c7df 100644 --- a/kernel.spec +++ b/kernel.spec @@ -658,6 +658,9 @@ Patch620: 0001-staging-vboxvideo-Fix-reporting-invalid-suggested-of.patch # Headed upstream Patch621: drm-i915-Boost-GPU-clocks-if-we-miss-the-pageflip-s-vblank.patch +# rhbz 1497861, submitted upstream, Cc: Stable +Patch622: 0001-platform-x86-peaq-wmi-Add-DMI-check-before-binding-t.patch + # END OF PATCH DEFINITIONS %endif @@ -2212,6 +2215,9 @@ fi # # %changelog +* Mon Oct 30 2017 Hans de Goede +- Fix for peaq_wmi nul spew (rhbz 1497861) + * Fri Oct 27 2017 Justin M. Forbes - 4.14.0-0.rc6.git4.1 - Linux v4.14-rc6-53-g15f859ae5c43