[Skiboot] [PATCH] hw/i2c: Fix early lock drop
stewart at linux.vnet.ibm.com
Fri May 19 10:36:31 AEST 2017
Oliver O'Halloran <oohall at gmail.com> writes:
> When interacting with an I2C master the p8-i2c driver (common to p9)
> aquires a per-master lock which it holds for the duration of it's
> interaction with the master. Unfortunately, when
> p8_i2c_check_initial_status() detects that the master is busy with
> another transaction it drops the lock and returns OPAL_BUSY. This is
> contrary to the driver's locking strategy which requires that the
> caller aquire and drop the lock. This leads to a crash due to the
> double unlock(), which skiboot treats as fatal.
> Signed-off-by: Oliver O'Halloran <oohall at gmail.com>
Thanks. I'm guessing this is common to p8 and 5.4.x too and we should
probably fix it there (even though I don't think anybody has reported
observing it there)?
Merged to master as of bb192fd55ffb20d619101c5e3e1f4fd24f844d11
OPAL Architect, IBM.
More information about the Skiboot