summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Bendebury <vbendeb@google.com>2018-02-19 13:12:40 -0800
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2018-11-13 00:19:02 +0000
commitb349b8550710bf7527680b4097450330fcee2d86 (patch)
tree6b3560f978fb385cfb385d3d6e412ed739dc6840
parent9789195ad92d67d27ca44e0c44ca6a43bf9db071 (diff)
downloadchrome-ec-b349b8550710bf7527680b4097450330fcee2d86.tar.gz
gsctool: fix Board ID retrieval function
The function used to read or write Board ID value, when invoked for reading, reports the value on the console, but does not save the read value in the passed in structure. Let's always save it in the structure so that the caller of this function has access to the retrieved value. BRANCH=none BUG=chromium:812880 TEST=verified that 'gsctool -i' still operates as expected. Change-Id: I9bc713386758ca6701e6b853e042652e2f392871 Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/925692 Reviewed-by: Randall Spangler <rspangler@chromium.org> (cherry picked from commit cd76cde2173e7e18d54865d97beece25fa2cb14e) Reviewed-on: https://chromium-review.googlesource.com/1141524 Reviewed-by: Nick Sanders <nsanders@chromium.org> Commit-Queue: Nick Sanders <nsanders@chromium.org> Tested-by: Nick Sanders <nsanders@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/1221371 Reviewed-by: Marco Chen <marcochen@chromium.org> Commit-Queue: Marco Chen <marcochen@chromium.org> Tested-by: Marco Chen <marcochen@chromium.org>
-rw-r--r--extra/usb_updater/gsctool.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/extra/usb_updater/gsctool.c b/extra/usb_updater/gsctool.c
index ae4c2a1738..7372179e97 100644
--- a/extra/usb_updater/gsctool.c
+++ b/extra/usb_updater/gsctool.c
@@ -1719,19 +1719,17 @@ static void process_bid(struct transfer_descriptor *td,
size_t response_size;
if (bid_action == bid_get) {
- struct board_id bid;
- response_size = sizeof(bid);
+ response_size = sizeof(*bid);
send_vendor_command(td, VENDOR_CC_GET_BOARD_ID,
- &bid, sizeof(bid),
- &bid, &response_size);
+ bid, sizeof(*bid),
+ bid, &response_size);
- if (response_size == sizeof(bid)) {
+ if (response_size == sizeof(*bid)) {
printf("Board ID space: %08x:%08x:%08x\n",
- be32toh(bid.type), be32toh(bid.type_inv),
- be32toh(bid.flags));
+ be32toh(bid->type), be32toh(bid->type_inv),
+ be32toh(bid->flags));
return;
-
}
fprintf(stderr, "Error reading board ID: response size %zd,"
" first byte %#02x\n", response_size,