summaryrefslogtreecommitdiff
path: root/util/ec_sb_firmware_update.c
diff options
context:
space:
mode:
authorDaisuke Nojiri <dnojiri@chromium.org>2019-01-02 15:27:19 -0800
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2019-01-07 21:19:36 +0000
commit4b72e2d82c27beae0536bec84bef2a7e5b541b5e (patch)
tree9ec81b47efa94e92d082e78d644ea1ce459426dc /util/ec_sb_firmware_update.c
parent6d6378b8d0f9a08eee75dfb794b5697cdcd4b821 (diff)
downloadchrome-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.c13
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