]> git.baikalelectronics.ru Git - kernel.git/commit
i2c: tegra: Better handle case where CPU0 is busy for a long time
authorDmitry Osipenko <digetx@gmail.com>
Tue, 24 Mar 2020 19:12:16 +0000 (22:12 +0300)
committerThierry Reding <treding@nvidia.com>
Fri, 8 May 2020 10:42:33 +0000 (12:42 +0200)
commit4113933eb0263ac460781d72c044c3ae1f32024e
tree513442eb53fa2d181d0ab1c195ad2f0dfb952ced
parent8199a3995d33ce1b4f43ac387e9172821765aaab
i2c: tegra: Better handle case where CPU0 is busy for a long time

Boot CPU0 always handle I2C interrupt and under some rare circumstances
(like running KASAN + NFS root) it may stuck in uninterruptible state for
a significant time. In this case we will get timeout if I2C transfer is
running on a sibling CPU, despite of IRQ being raised. In order to handle
this rare condition, the IRQ status needs to be checked after completion
timeout.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/i2c/busses/i2c-tegra.c