diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2019-01-02 15:27:19 -0800 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2019-01-07 21:19:36 +0000 |
commit | 4b72e2d82c27beae0536bec84bef2a7e5b541b5e (patch) | |
tree | 9ec81b47efa94e92d082e78d644ea1ce459426dc /util/ec_sb_firmware_update.c | |
parent | 6d6378b8d0f9a08eee75dfb794b5697cdcd4b821 (diff) | |
download | chrome-ec-4b72e2d82c27beae0536bec84bef2a7e5b541b5e.tar.gz |
ectool: Don't acquire lock when dev interface is used
The /dev/cros_ec interface has a built-in mutex, thus we do not
need to use /run/lock to arbitrate access since we can assume other
tools (mosys, flashrom) also use the dev interface.
$ generate_logs
...
feedback/cbi_info
...
$ cat feedback/cbi_info
[0]
As integer: 1 (0x1)
As binary: 01 02
[1]
As integer: 3 (0x3)
As binary: 03
[2]
As integer: 103 (0x67)
As binary: 67 3a
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
BUG=chromium:849399
BRANCH=none
TEST=Verify 'ectool version' runs on Nami. Verify lock is acquired
when '--interface=lpc' is specified. Verify debugd can run cbi_info.
Change-Id: Id94317472917a974218bb137bda11fe5618a4b88
Reviewed-on: https://chromium-review.googlesource.com/1393729
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
(cherry picked from commit aed008f87c3c880edecf7608ab24eaa4bee1bc46)
Reviewed-on: https://chromium-review.googlesource.com/c/1398342
Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Diffstat (limited to 'util/ec_sb_firmware_update.c')
-rw-r--r-- | util/ec_sb_firmware_update.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/util/ec_sb_firmware_update.c b/util/ec_sb_firmware_update.c index 54b7ff1567..09067b6928 100644 --- a/util/ec_sb_firmware_update.c +++ b/util/ec_sb_firmware_update.c @@ -748,7 +748,7 @@ void usage(char *argv[]) int main(int argc, char *argv[]) { - int rv = 0, interfaces = COMM_ALL; + int rv = 0; int op = OP_UNKNOWN; uint8_t val = 0; @@ -767,14 +767,14 @@ int main(int argc, char *argv[]) return -1; } - if (acquire_gec_lock(GEC_LOCK_TIMEOUT_SECS) < 0) { - printf("Could not acquire GEC lock.\n"); + if (comm_init_dev(NULL)) { + printf("Couldn't initialize /dev.\n"); return -1; } - if (comm_init(interfaces, NULL)) { - printf("Couldn't find EC\n"); - goto out; + if (comm_init_buffer()) { + fprintf(stderr, "Couldn't initialize buffers\n"); + return -1; } fw_update.flags = 0; @@ -836,7 +836,6 @@ int main(int argc, char *argv[]) if (fw_update.flags & F_POWERD_DISABLED) rv |= restore_power_management(); out: - release_gec_lock(); if (rv) return -1; else |