Input: i8042 - fix AUX IRQ delivery check
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@redhat.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
8479fc42c9
commit
6f09b7b3b2
@@ -543,6 +543,7 @@ static int __devinit i8042_check_aux(void)
|
||||
{
|
||||
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(void)
|
||||
if (i8042_command(¶m, 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(void)
|
||||
* 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.
|
||||
|
||||
Reference in New Issue
Block a user