diff options
author | Oliver O'Halloran <oohall@gmail.com> | 2017-05-16 17:20:37 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2017-05-19 09:22:57 +1000 |
commit | bb192fd55ffb20d619101c5e3e1f4fd24f844d11 (patch) | |
tree | 432c6db801d96c9269244f67fafe1b056e6ce543 /external/mambo | |
parent | 40cf5a391a80a75f8827d2427e49a92e73871b00 (diff) | |
download | skiboot-bb192fd55ffb20d619101c5e3e1f4fd24f844d11.zip skiboot-bb192fd55ffb20d619101c5e3e1f4fd24f844d11.tar.gz skiboot-bb192fd55ffb20d619101c5e3e1f4fd24f844d11.tar.bz2 |
hw/i2c: Fix early lock drop
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@gmail.com>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'external/mambo')
0 files changed, 0 insertions, 0 deletions