diff options
author | Lukasz Hajec <lha@semihalf.com> | 2021-08-10 10:53:46 +0200 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-08-26 20:21:27 +0000 |
commit | a4848a9b8d549664a8b246805019ce0e7a03e8b3 (patch) | |
tree | f1aa58821ae0b807b176a4399e1172a48fe122cc | |
parent | fdbb8787eb0ed8c666ed70eff5a5ff7a3074a2f2 (diff) | |
download | chrome-ec-a4848a9b8d549664a8b246805019ce0e7a03e8b3.tar.gz |
servo_updater: Add clean reboot at the end of updating procedure
In current state after firmware is updated we perform reboot and check
if servo is in RO. Due to this check we need to reinitialize uart
connection. This procedure takes resources from kernel driver and makes
it impossible to use servo console from OS just after servo_updater.
This patch adds additional reboot, it allows kernel driver to reconnect
to servo console and use it.
BRANCH=None
BUG=b:196021317
TEST=run servo_updater.py, after the tool finishes job check if we can
access servo EC via serial terminal using e.g. picocom /dev/ttyUSB0.
Signed-off-by: Lukasz Hajec <lha@semihalf.com>
Change-Id: Icebb1a2faa8803d13736ea241b894adaf146b433
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3111367
Reviewed-by: Matthew Blecker <matthewb@chromium.org>
Commit-Queue: Matthew Blecker <matthewb@chromium.org>
-rwxr-xr-x | extra/usb_updater/servo_updater.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/extra/usb_updater/servo_updater.py b/extra/usb_updater/servo_updater.py index 82b15c3250..4dff264182 100755 --- a/extra/usb_updater/servo_updater.py +++ b/extra/usb_updater/servo_updater.py @@ -446,6 +446,9 @@ def main(): # Make sure the servo MCU is in RO print("===== Rebooting =====") do_with_retries(select, tinys, 'ro') + # Perform additional reboot to free USB/UART resources, taken by tiny servod. + # See https://issuetracker.google.com/196021317 for background. + tinys.pty._issue_cmd("reboot") print("===== Finished =====") |