HID: i2c-hid: Retry address probe after delay
authorKenny Levinsen <kl@kl.wtf>
Mon, 29 Apr 2024 23:33:14 +0000 (01:33 +0200)
committerJiri Kosina <jkosina@suse.com>
Mon, 6 May 2024 21:27:37 +0000 (23:27 +0200)
commitab5ec06a7070840bb64a125fe6e5b0ddcb36346c
treedced0528c36832b5199d810ce94f318e06c03ad1
parent3e78a6c0d3e02e4cf881dc84c5127e9990f939d6
HID: i2c-hid: Retry address probe after delay

Some STM microcontrollers need 400µs after rising clock edge in order to
come out of their deep sleep state. This in turn means that our address
probe will fail as the device is not ready to service it.

Retry the probe once after a delay to see if the device came alive,
otherwise treat the device as missing.

Link: https://lore.kernel.org/all/20240405102436.3479210-1-lma@chromium.org/#t
Co-developed-by: Radoslaw Biernacki <rad@chromium.org>
Co-developed-by: Lukasz Majczak <lma@chromium.org>
Signed-off-by: Kenny Levinsen <kl@kl.wtf>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
drivers/hid/i2c-hid/i2c-hid-core.c