libpayload/drivers/i8042: Add error handling

Add error handling on I8042_CMD_WR_CMD_BYTE failure.

BUG=b:145130110
TEST=Draillion keyboard is usable on every boot.

Signed-off-by: Eric Lai <ericr_lai@compal.corp-partner.google.com>
Change-Id: I56c472ae7e399d4862c6e41b70f53a21d718157d
Reviewed-on: https://review.coreboot.org/c/coreboot/+/37664
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
This commit is contained in:
Eric Lai 2019-12-12 13:15:30 +08:00 committed by Patrick Georgi
parent 98b72dadf0
commit d1613f5681
1 changed files with 6 additions and 2 deletions

View File

@ -318,10 +318,14 @@ static int enable_translated(void)
if (!i8042_cmd(I8042_CMD_RD_CMD_BYTE)) { if (!i8042_cmd(I8042_CMD_RD_CMD_BYTE)) {
int cmd = i8042_read_data_ps2(); int cmd = i8042_read_data_ps2();
cmd |= I8042_CMD_BYTE_XLATE; cmd |= I8042_CMD_BYTE_XLATE;
if (!i8042_cmd(I8042_CMD_WR_CMD_BYTE)) if (!i8042_cmd(I8042_CMD_WR_CMD_BYTE)) {
i8042_write_data(cmd); i8042_write_data(cmd);
} else {
printf("ERROR: i8042_cmd WR_CMD failed!\n");
return 0;
}
} else { } else {
printf("ERROR: Keyboard i8042_cmd failed!\n"); printf("ERROR: i8042_cmd RD_CMD failed!\n");
return 0; return 0;
} }
return 1; return 1;