]> git.baikalelectronics.ru Git - kernel.git/commit
hil/parisc: Disable HIL driver when it gets stuck
authorHelge Deller <deller@gmx.de>
Mon, 19 Oct 2020 14:57:50 +0000 (16:57 +0200)
committerHelge Deller <deller@gmx.de>
Thu, 22 Oct 2020 20:44:35 +0000 (22:44 +0200)
commit04f49dd5f31c25d283428c8fbbf9d40cf8a0e485
treebb1177563374ebfa1916464cc43fe898e76ba7c9
parent2299faf49d7970aaebb4403ea9ce11c93b1e5d3f
hil/parisc: Disable HIL driver when it gets stuck

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>
drivers/input/serio/hil_mlc.c
drivers/input/serio/hp_sdc_mlc.c
include/linux/hil_mlc.h