linux-brain/drivers/input/serio
Helge Deller f3d8023e06 hil/parisc: Disable HIL driver when it gets stuck
commit 879bc2d27904354b98ca295b6168718e045c4aa2 upstream.

When starting a HP machine with HIL driver but without an HIL keyboard
or HIL mouse attached, it may happen that data written to the HIL loop
gets stuck (e.g. because the transaction queue is full).  Usually one
will then have to reboot the machine because all you see is and endless
output of:
 Transaction add failed: transaction already queued?

In the higher layers hp_sdc_enqueue_transaction() is called to queued up
a HIL packet. This function returns an error code, and this patch adds
the necessary checks for this return code and disables the HIL driver if
further packets can't be sent.

Tested on a HP 730 and a HP 715/64 machine.

Signed-off-by: Helge Deller <deller@gmx.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-05 11:43:36 +01:00
..
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile Input: remove at32psif 2018-01-18 11:39:48 -08:00
altera_ps2.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ambakmi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
ams_delta_serio.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
apbps2.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
arc_ps2.c Input: remove dev_err() usage after platform_get_irq() 2019-08-14 10:49:01 -07:00
ct82c710.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
gscps2.c parisc: Fix serio address output 2018-12-10 07:47:59 +01:00
hil_mlc.c hil/parisc: Disable HIL driver when it gets stuck 2020-11-05 11:43:36 +01:00
hp_sdc.c parisc: Fix HP SDC hpa address output 2018-12-10 07:48:07 +01:00
hp_sdc_mlc.c hil/parisc: Disable HIL driver when it gets stuck 2020-11-05 11:43:36 +01:00
hyperv-keyboard.c Input: hyperv-keyboard: Use in-place iterator API in the channel callback 2019-08-20 11:28:04 -04:00
i8042-io.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
i8042-ip22io.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
i8042-jazzio.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
i8042-snirm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
i8042-sparcio.h Input: i8042 - rework DT node name comparisons 2019-02-18 12:11:04 -08:00
i8042-unicore32io.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
i8042-x86ia64io.h Input: i8042 - add nopnp quirk for Acer Aspire 5 A515 2020-10-07 08:01:24 +02:00
i8042.c Input: i8042 - enable wakeup on a stable struct device 2019-08-29 14:42:11 -07:00
i8042.h input: i8042 - Remove special PowerPC handling 2020-06-24 17:50:36 +02:00
libps2.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
maceps2.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
olpc_apsp.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
parkbd.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
pcips2.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 178 2019-05-30 11:29:19 -07:00
ps2-gpio.c Input: remove dev_err() usage after platform_get_irq() 2019-08-14 10:49:01 -07:00
ps2mult.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
q40kbd.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
rpckbd.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
sa1111ps2.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 178 2019-05-30 11:29:19 -07:00
serio.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
serio_raw.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
serport.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sun4i-ps2.c Input: sun4i-ps2 - fix handling of platform_get_irq() error 2020-10-29 09:57:57 +01:00
userio.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
xilinx_ps2.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 151 2019-05-30 11:26:28 -07:00