[Skiboot] [PATCH] i2c: Fix i2c request hang during opal init if timers are not checked

Stewart Smith stewart at linux.ibm.com
Thu Dec 13 10:22:18 AEDT 2018


Frederic Barrat <fbarrat at linux.ibm.com> writes:
> If an i2c request cannot go through the first time, because the bus is
> found in error and need a reset or it's locked by the OCC for example,
> the underlying i2c implementation is using timers to manage the
> request. However during opal init, opal pollers may not be called, it
> depends in the context in which the i2c request is made. If the
> pollers are not called, the timers are not checked and we can end up
> with an i2c request which will not move foward and skiboot hangs.
>
> Fix it by explicitly checking the timers if we are waiting for an i2c
> request to complete and it seems to be taking a while.
>
> Signed-off-by: Frederic Barrat <fbarrat at linux.ibm.com>
> ---
>  core/i2c.c | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)

Merged to master as of 1bd34e4c60c69faeb825ba5f64658941a1422403

-- 
Stewart Smith
OPAL Architect, IBM.



More information about the Skiboot mailing list