aboutsummaryrefslogtreecommitdiff
path: root/src/soc/amd/common/block/smbus/smbus.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/amd/common/block/smbus/smbus.c')
-rw-r--r--src/soc/amd/common/block/smbus/smbus.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/soc/amd/common/block/smbus/smbus.c b/src/soc/amd/common/block/smbus/smbus.c
index e94adf5bc6..4fb68d425d 100644
--- a/src/soc/amd/common/block/smbus/smbus.c
+++ b/src/soc/amd/common/block/smbus/smbus.c
@@ -69,7 +69,8 @@ static int smbus_wait_until_done(uintptr_t mmio)
val &= SMBHST_STAT_VAL_BITS; /* mask off reserved bits */
if (val & SMBHST_STAT_ERROR_BITS)
return -5; /* error */
- if (val == SMBHST_STAT_NOERROR) {
+ /* check IRQ status bit to see if the last host command is completed */
+ if (val == SMBHST_STAT_INTERRUPT) {
controller_write8(mmio, SMBHSTSTAT, val); /* clr sts */
return 0;
}