Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3ca5de6d authored by Dmitry Torokhov's avatar Dmitry Torokhov
Browse files

Input: i8042 - another attempt to fix AUX delivery checks



Do not assume that AUX_LOOP command is broken unless it
completes successfully but returns wrong (unexpected) data.

Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent 62b529a7
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -553,7 +553,8 @@ static int __devinit i8042_check_aux(void)
 */

	param = 0x5a;
	if (i8042_command(&param, I8042_CMD_AUX_LOOP) || param != 0x5a) {
	retval = i8042_command(&param, I8042_CMD_AUX_LOOP);
	if (retval || param != 0x5a) {

/*
 * External connection test - filters out AT-soldered PS/2 i8042's
@@ -567,6 +568,11 @@ static int __devinit i8042_check_aux(void)
		    (param && param != 0xfa && param != 0xff))
			return -1;

/*
 * If AUX_LOOP completed without error but returned unexpected data
 * mark it as broken
 */
		if (!retval)
			aux_loop_broken = 1;
	}