-
Yicheng Li authored
RO and RW of EC may have different EC protocol version. If EC transitions between RO and RW, but AP does not reboot (this is true for fingerprint microcontroller / cros_fp, but not true for main ec / cros_ec), the AP still uses the protocol version queried before transition, which can cause problems. In the case of fingerprint microcontroller, this causes AP to send the wrong version of EC_CMD_GET_NEXT_EVENT to RO in the interrupt handler, which in turn prevents RO to clear the interrupt line to AP, in an infinite loop. Once an EC_HOST_EVENT_INTERFACE_READY is received, we know that there might have been a transition between RO and RW, so re-query the protocol. Signed-off-by:
Yicheng Li <yichengli@chromium.org> Tested-by:
Marek Szyprowski <m.szyprowski@samsung.com> Reviewed-by:
Gwendal Grignou <gwendal@chromium.org> Signed-off-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com>
42cd0ab4