linux-hardened/drivers/platform/x86
Oleksij Rempel b5643539b8 platform/x86: asus-wmi: Filter buggy scan codes on ASUS Q500A
Some revisions of the ASUS Q500A series have a keyboard related
issue which is reproducible only after Windows with installed ASUS
tools is started.

In this case the Linux side will have a blocked keyboard or
report incorrect or incomplete hotkey events.

To make Linux work properly again, a complete power down
(unplug power supply and remove battery) is needed.

Linux/atkbd after a clean start will get the following code on VOLUME_UP
key: {0xe0, 0x30, 0xe0, 0xb0}. After Windows, the same key will generate
this codes: {0xe1, 0x23, 0xe0, 0x30, 0xe0, 0xb0}. As result atkdb will
be confused by buggy codes.

This patch is filtering this buggy code out.

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

Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Cc: Alex Henrie <alexhenrie24@gmail.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Corentin Chary <corentin.chary@gmail.com>
Cc: acpi4asus-user@lists.sourceforge.net
Cc: platform-driver-x86@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

[dvhart: Add return after pr_warn to avoid false confirmation of filter]

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
2016-09-23 17:06:20 -07:00
..
acer-wmi.c acer-wmi: Use acpi_dev_found() 2016-04-09 03:12:59 +02:00
acerhdf.c thermal: consistently use int for temperatures 2015-08-03 23:15:50 +08:00
alienware-wmi.c alienware-wmi: whitespace improvements 2016-02-07 12:01:33 -08:00
amilo-rfkill.c
apple-gmux.c apple-gmux: Sphinxify docs 2016-07-28 10:04:03 +02:00
asus-laptop.c platform/x86: asus-laptop: get rid of parse_arg() 2016-09-23 16:20:44 -07:00
asus-nb-wmi.c platform/x86: asus-wmi: Filter buggy scan codes on ASUS Q500A 2016-09-23 17:06:20 -07:00
asus-wireless.c asus-wireless: Toggle airplane mode LED 2016-07-01 16:01:26 -07:00
asus-wmi.c platform/x86: asus-wmi: fix asus ux303ub brightness issue 2016-09-23 16:20:34 -07:00
asus-wmi.h platform/x86: asus-wmi: Filter buggy scan codes on ASUS Q500A 2016-09-23 17:06:20 -07:00
classmate-laptop.c
compal-laptop.c compal-laptop: Add charge control limit 2015-10-03 08:44:57 -07:00
dell-laptop.c dell-smbios: rename dell_smi_error() to dell_smbios_error() 2016-03-23 10:05:49 -07:00
dell-rbtn.c dell-rbtn: Ignore ACPI notifications if device is suspended 2016-05-27 11:47:56 -07:00
dell-rbtn.h dell-rbtn: Export notifier for other kernel modules 2015-06-10 22:04:11 -07:00
dell-smbios.c dell-smbios: rename dell_smi_error() to dell_smbios_error() 2016-03-23 10:05:49 -07:00
dell-smbios.h dell-smbios: rename dell_smi_error() to dell_smbios_error() 2016-03-23 10:05:49 -07:00
dell-smo8800.c
dell-wmi-aio.c
dell-wmi.c dell-wmi: Ignore WMI event 0xe00e 2016-08-08 11:00:21 -07:00
eeepc-laptop.c eeepc-laptop: Port to new backlight interface selection API 2015-06-19 01:11:56 +02:00
eeepc-wmi.c eeepc-wmi: Use acpi_dev_found() 2016-04-09 03:12:58 +02:00
fujitsu-laptop.c fujitsu-laptop: Rework brightness of eco led 2016-07-06 11:31:12 -07:00
fujitsu-tablet.c Input: use more descriptive KEY_ROTATE_DISPLAY instead of KEY_DIRECTION 2015-03-06 17:18:16 -08:00
hdaps.c
hp-wireless.c hp-wireless: remove unneeded goto/label in hpwl_init 2015-08-25 23:34:15 -07:00
hp-wmi.c hp-wmi: Fix wifi cannot be hard-unblocked 2016-06-28 22:18:32 -07:00
hp_accel.c hp_accel: Silence an uninitialized variable warning 2016-04-15 08:26:25 -07:00
ibm_rtl.c move io-64-nonatomic*.h out of asm-generic 2015-10-15 00:21:07 +02:00
ideapad-laptop.c ideapad_laptop: Add an event for mic mute hotkey 2016-06-08 13:01:34 -07:00
intel-hid.c intel-hid: Remove duplicated acpi_remove_notify_handler 2016-06-28 22:18:35 -07:00
intel-rst.c
intel-smartconnect.c
intel-vbtn.c intel-vbtn: new driver for Intel Virtual Button 2016-07-22 13:17:40 -07:00
intel_ips.c move io-64-nonatomic*.h out of asm-generic 2015-10-15 00:21:07 +02:00
intel_ips.h
intel_menlow.c intel_menlow: reduce code duplication 2016-05-27 11:47:55 -07:00
intel_mid_powerbtn.c intel_mid_powerbtn: Remove misuse of IRQF_NO_SUSPEND flag 2015-10-03 09:40:30 -07:00
intel_mid_thermal.c thermal: consistently use int for temperatures 2015-08-03 23:15:50 +08:00
intel_oaktrail.c intel-oaktrail: Port to new backlight interface selection API 2015-06-19 01:12:11 +02:00
intel_pmc_core.c platform-drivers-x86 for 4.8-1 2016-07-26 17:23:08 -07:00
intel_pmc_core.h intel_pmc_core: Convert to DEFINE_DEBUGFS_ATTRIBUTE 2016-07-06 13:23:53 -07:00
intel_pmc_ipc.c x86: Fix Apollo Lake Watchdog address in PMC driver 2016-07-17 21:02:15 +02:00
intel_pmic_gpio.c platform: x86: intel-pmic: use gpiochip data pointer 2016-04-26 15:34:41 +02:00
intel_punit_ipc.c platform:x86 decouple telemetry driver from the optional IPC resources 2016-04-19 13:51:41 -07:00
intel_scu_ipc.c platform/x86: Make intel_scu_ipc explicitly non-modular 2016-03-23 10:05:47 -07:00
intel_scu_ipcutil.c intel_scu_ipcutil: underflow in scu_reg_access() 2016-01-30 09:40:35 -08:00
intel_telemetry_core.c intel_telemetry: Constify telemetry_core_ops structures 2016-05-05 13:58:55 -07:00
intel_telemetry_debugfs.c platform-drivers-x86 for 4.8-1 2016-07-26 17:23:08 -07:00
intel_telemetry_pltdrv.c platform-drivers-x86 for 4.8-1 2016-07-26 17:23:08 -07:00
Kconfig platform-drivers-x86 for 4.8-1 2016-07-26 17:23:08 -07:00
Makefile intel-vbtn: new driver for Intel Virtual Button 2016-07-22 13:17:40 -07:00
msi-laptop.c msi-laptop: Port to new backlight interface selection API 2015-06-19 01:12:16 +02:00
msi-wmi.c msi-wmi: Port to new backlight interface selection API 2015-06-19 01:12:20 +02:00
mxm-wmi.c
panasonic-laptop.c
pvpanic.c pvpanic: handle missing _STA correctly 2015-06-07 21:30:12 -07:00
samsung-laptop.c samsung-laptop: Port to new backlight interface selection API 2015-06-19 01:12:25 +02:00
samsung-q10.c
sony-laptop.c sony-laptop: Avoid oops on module unload for older laptops 2016-05-05 16:32:32 -07:00
surfacepro3_button.c surfacepro3_button: Add a warning when switching to tablet mode 2016-05-27 11:47:53 -07:00
tc1100-wmi.c tc1100-wmi: fix build warning when CONFIG_PM not enabled 2016-01-19 17:35:47 -08:00
thinkpad_acpi.c thinkpad_acpi: Add support for HKEY version 0x200 2016-06-08 13:01:56 -07:00
topstar-laptop.c
toshiba-wmi.c platform/x86: Toshiba WMI Hotkey Driver 2015-10-03 10:07:08 -07:00
toshiba_acpi.c platform/x86: toshiba_acpi: Fix typo in *_cooling_method_set function 2016-08-31 17:33:33 -07:00
toshiba_bluetooth.c platform/x86: toshiba_bluetooth: Decouple an error checking status code 2016-09-23 16:21:06 -07:00
toshiba_haps.c platform/x86: toshiba_haps: Change logging level from info to debug 2016-09-23 16:21:05 -07:00
wmi.c drivers/platform/x86/wmi.c: use generic UUID library 2016-05-20 17:58:30 -07:00
xo1-rfkill.c
xo15-ebook.c