Patrick Georgi merged this change.

View Change

Approvals: build bot (Jenkins): Verified Furquan Shaikh: Looks good to me, approved
ec/google/wilco: Fix handling of commands that do not respond

If the command does not respond the driver should not wait for
it to complete before returning.

Tested with SMI debug enabled to ensure that the final command
does not report a failure.

Change-Id: I7c1bfa19a92e8332ac1aa6ff95f94ff4cbdf789d
Signed-off-by: Duncan Laurie <dlaurie@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/31919
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
---
M src/ec/google/wilco/mailbox.c
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/ec/google/wilco/mailbox.c b/src/ec/google/wilco/mailbox.c
index 1c38a5b..d47290c 100644
--- a/src/ec/google/wilco/mailbox.c
+++ b/src/ec/google/wilco/mailbox.c
@@ -155,12 +155,6 @@
/* Start the command */
outb(EC_MAILBOX_START_COMMAND, CONFIG_EC_BASE_HOST_COMMAND);

- /* Wait for it to complete */
- if (wilco_ec_response_timed_out()) {
- printk(BIOS_ERR, "%s: response timed out\n", __func__);
- return -1;
- }
-
/* Some commands will put the EC into a state where it cannot respond */
if (msg->type == WILCO_EC_MSG_NO_RESPONSE) {
printk(BIOS_DEBUG, "%s: EC does not respond to this command\n",
@@ -168,6 +162,12 @@
return 0;
}

+ /* Wait for it to complete */
+ if (wilco_ec_response_timed_out()) {
+ printk(BIOS_ERR, "%s: response timed out\n", __func__);
+ return -1;
+ }
+
/* Check result */
msg->result = inb(CONFIG_EC_BASE_HOST_DATA);
if (msg->result != 0) {

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

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I7c1bfa19a92e8332ac1aa6ff95f94ff4cbdf789d
Gerrit-Change-Number: 31919
Gerrit-PatchSet: 2
Gerrit-Owner: Duncan Laurie <dlaurie@chromium.org>
Gerrit-Reviewer: Furquan Shaikh <furquan@google.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi@google.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-MessageType: merged