summaryrefslogtreecommitdiff
path: root/drivers/i2c/busses/i2c-opal.c
diff options
context:
space:
mode:
authorVasily Khoruzhick <vasilykh@arista.com>2024-08-19 13:51:04 -0700
committerAndi Shyti <andi.shyti@kernel.org>2024-09-10 00:36:55 +0200
commit46b2dfc0aa79277c2ed119975de72f49bddd77c9 (patch)
treeca23639ae533a92fb8991df21bff72ba18d89202 /drivers/i2c/busses/i2c-opal.c
parent66049b33c042dab0df9a27117702f9398b9cab20 (diff)
i2c: ismt: kill transaction in hardware on timeout
On Intel Denverton SoC ismt controller may enter weird state when transaction gets stuck. It times out in the driver, but unless transaction is explicitly killed in the controller, it won't be able to perform new transactions anymore. The issue is extremely difficult to reproduce and may take weeks of non- stop smbus traffic. Numerous hours with logic analyzer didn't yield any useful results, it looks like the controller stops toggling SCK line, i.e. the issue is likely in the controller, since device doesn't do clock stretching, so nothing is driving SCK except the host. Explicitly kill transaction on timeout to recover the controller from this state. Signed-off-by: Vasily Khoruzhick <vasilykh@arista.com> Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Diffstat (limited to 'drivers/i2c/busses/i2c-opal.c')
0 files changed, 0 insertions, 0 deletions