Fix issue with upgrade running when not needed

If a touch event was generated while the application was running
it could be interpreted as a result of a I/O command. If that
happened when reading current firmware version, a new upgrade
would be triggered even if it was running the latest version.
This made the touch unresponsive for up to a minute.

Fix the issue by only accepting io responses with HID report
id 10.

BUG=b:65224683
TEST=Ran using udev-rule and manually with --recovery both with
touching and without touching the display.
Change-Id: I6eb1a2286944fd85d1f1763c7d2e716a1f204cae
Reviewed-on: https://chromium-review.googlesource.com/645811
Commit-Ready: Stefan Adolfsson <sadolfsson@chromium.org>
Tested-by: Zhongze Hu <frankhu@google.com>
Reviewed-by: Zhongze Hu <frankhu@google.com>
2 files changed
tree: d7005691841e62a64017a5ef2e409d3396b058c0
  1. conf/
  2. src/
  3. .gitignore
  4. common.mk
  5. LICENSE
  6. Makefile
  7. README.md
README.md

SiS Firmware Updater

Description

The code was proviced by SiS and modified by Google. Modifications include:

  • Cleaning the code according to Google C++ coding style. Eliminating compiling errors.
  • Adding a feature that the updater can take the device name from input parameters. Blinded search is only required when input device name is invalid.
  • Adding a feature that the updater will compare FW version before actual update. If the FW versions on device and in Chrome OS are same, the updater will terminate.
  • Adding a input flag specifying whether the device is in recovery mode (FW update fails last time). The flag value is determined by VID from udev rule.

Requirements

On Linux, should run as root.

Build

At the root of the repository: make.

Under Chrome OS development enviroment: emerge-${BOARD} sis-updater.

How to use

Just run ./sis-updater.