[patch 29/31] Input: i8042 - fix AUX IRQ delivery check

From: Greg KH
Date: Mon Mar 19 2007 - 17:43:48 EST


-stable review patch. If anyone has any objections, please let us know.

------------------

From: Dmitry Torokhov <dtor@xxxxxxxxxxxxx>

Input: i8042 - fix AUX IRQ delivery check

On boxes that do not implement AUX LOOP command we can not
verify AUX IRQ delivery and must assume that it is wired
properly.

Cc: Chuck Ebbert <cebbert@xxxxxxxxxx>
Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

---
drivers/input/serio/i8042.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

--- a/drivers/input/serio/i8042.c
+++ b/drivers/input/serio/i8042.c
@@ -543,6 +543,7 @@ static int __devinit i8042_check_aux(voi
{
int retval = -1;
int irq_registered = 0;
+ int aux_loop_broken = 0;
unsigned long flags;
unsigned char param;

@@ -572,6 +573,8 @@ static int __devinit i8042_check_aux(voi
if (i8042_command(&param, I8042_CMD_AUX_TEST) ||
(param && param != 0xfa && param != 0xff))
return -1;
+
+ aux_loop_broken = 1;
}

/*
@@ -595,7 +598,7 @@ static int __devinit i8042_check_aux(voi
* used it for a PCI card or somethig else.
*/

- if (i8042_noloop) {
+ if (i8042_noloop || aux_loop_broken) {
/*
* Without LOOP command we can't test AUX IRQ delivery. Assume the port
* is working and hope we are right.

--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/