diff options
author | Vadim Bendebury <vbendeb@chromium.org> | 2016-11-25 12:44:06 -0800 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2016-12-25 14:56:23 +0000 |
commit | 3a22bb3b38adfacc45a3b4e74d0dcb8fdac0a678 (patch) | |
tree | 53f6295d5fed27bb90064a821fd3ce4f5f22c25e | |
parent | e35a5a16a19cd62d70353f85247372199bd43c5c (diff) | |
download | chrome-ec-3a22bb3b38adfacc45a3b4e74d0dcb8fdac0a678.tar.gz |
usb_updater: improve debugability
When usb update errors happen it helps a lot to be able to see the
actual error code returned by the target and where the error was
generated.
This patch adds a few printouts to help with debugging.
BRANCH=none
BUG=none
TEST=observed proper error messages generated while debugging
introduction of extension/vendor commands transfer over USB.
Change-Id: I06c77e7467f7f9547704c88c4b673866fb2e6032
Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/414947
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/423016
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Commit-Queue: Hung-Te Lin <hungte@chromium.org>
Tested-by: Hung-Te Lin <hungte@chromium.org>
-rw-r--r-- | chip/g/upgrade_fw.c | 1 | ||||
-rw-r--r-- | chip/g/usb_upgrade.c | 2 | ||||
-rw-r--r-- | extra/usb_updater/usb_updater.c | 9 |
3 files changed, 11 insertions, 1 deletions
diff --git a/chip/g/upgrade_fw.c b/chip/g/upgrade_fw.c index c01bdadc8c..cbbfdc36d1 100644 --- a/chip/g/upgrade_fw.c +++ b/chip/g/upgrade_fw.c @@ -194,6 +194,7 @@ void fw_upgrade_command_handler(void *body, */ if (!valid_sections.ro_top_offset || !valid_sections.rw_top_offset) { + CPRINTF("%s:%d\n", __func__, __LINE__); rpdu->return_value = htobe32(UPGRADE_GEN_ERROR); return; } diff --git a/chip/g/usb_upgrade.c b/chip/g/usb_upgrade.c index 7f58f57fc8..46e88949fb 100644 --- a/chip/g/usb_upgrade.c +++ b/chip/g/usb_upgrade.c @@ -162,6 +162,7 @@ static void upgrade_out_handler(struct consumer const *consumer, size_t count) * a single byte error code. */ resp_value = UPGRADE_GEN_ERROR; + CPRINTS("%s:%d", __FILE__, __LINE__); QUEUE_ADD_UNITS(&upgrade_to_usb, &resp_value, 1); return; } @@ -229,6 +230,7 @@ static void upgrade_out_handler(struct consumer const *consumer, size_t count) * gotten out of sync with the host. */ resp_value = UPGRADE_GEN_ERROR; + CPRINTS("%s:%d", __FILE__, __LINE__); QUEUE_ADD_UNITS(&upgrade_to_usb, &resp_value, 1); return; } diff --git a/extra/usb_updater/usb_updater.c b/extra/usb_updater/usb_updater.c index 67a5aec366..a1248c58f1 100644 --- a/extra/usb_updater/usb_updater.c +++ b/extra/usb_updater/usb_updater.c @@ -878,8 +878,15 @@ static void setup_connection(struct transfer_descriptor *td) if (rxed_size <= 4) { if (td->ep_type != spi_xfer) { - fprintf(stderr, "Unexpected response size %zd\n", + size_t i; + + fprintf(stderr, "Unexpected response size %zd: ", rxed_size); + + for (i = 0; i < rxed_size; i++) + fprintf(stderr, " %02x", + ((uint8_t *)&start_resp)[i]); + fprintf(stderr, "\n"); exit(update_error); } |