[Skiboot] [PATCH] hw/i2c: Fix early lock drop

Stewart Smith 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

Stewart Smith
OPAL Architect, IBM.

More information about the Skiboot mailing list