EricR Lai has uploaded this change for review.

View Change

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
---
M payloads/libpayload/drivers/i8042/keyboard.c
1 file changed, 6 insertions(+), 2 deletions(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/64/37664/1
diff --git a/payloads/libpayload/drivers/i8042/keyboard.c b/payloads/libpayload/drivers/i8042/keyboard.c
index 4b4a569..79455cf 100644
--- a/payloads/libpayload/drivers/i8042/keyboard.c
+++ b/payloads/libpayload/drivers/i8042/keyboard.c
@@ -318,10 +318,14 @@
if (!i8042_cmd(I8042_CMD_RD_CMD_BYTE)) {
int cmd = i8042_read_data_ps2();
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);
+ } else {
+ printf("ERROR: i8042_cmd WR_CMD failed!\n");
+ return 0;
+ }
} else {
- printf("ERROR: Keyboard i8042_cmd failed!\n");
+ printf("ERROR: i8042_cmd RD_CMD failed!\n");
return 0;
}
return 1;

To view, visit change 37664. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I56c472ae7e399d4862c6e41b70f53a21d718157d
Gerrit-Change-Number: 37664
Gerrit-PatchSet: 1
Gerrit-Owner: EricR Lai <ericr_lai@compal.corp-partner.google.com>
Gerrit-MessageType: newchange