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 10:35:53 +1000 |
commit | 0fbf73c995b8b917c324e2e948ffc69ea1688d7d (patch) | |
tree | 6e6040f3369ad7d516d357b6c761ebb5a3b00334 /hw/fsp | |
parent | 4868b9816c7990fb0f26a0032fecfd5d9c9327b4 (diff) | |
download | skiboot-0fbf73c995b8b917c324e2e948ffc69ea1688d7d.zip skiboot-0fbf73c995b8b917c324e2e948ffc69ea1688d7d.tar.gz skiboot-0fbf73c995b8b917c324e2e948ffc69ea1688d7d.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>
(cherry picked from commit bb192fd55ffb20d619101c5e3e1f4fd24f844d11)
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw/fsp')
0 files changed, 0 insertions, 0 deletions