Skip to content
Commit 1f0d9cbe authored by Jae Hyun Yoo's avatar Jae Hyun Yoo Committed by Wolfram Sang
Browse files

i2c: aspeed: fix master pending state handling

In case of master pending state, it should not trigger a master
command, otherwise data could be corrupted because this H/W shares
the same data buffer for slave and master operations. It also means
that H/W command queue handling is unreliable because of the buffer
sharing issue. To fix this issue, it clears command queue if a
master command is queued in pending state to use S/W solution
instead of H/W command queue handling. Also, it refines restarting
mechanism of the pending master command.

Fixes: 2e57b7ce

 ("i2c: aspeed: Add multi-master use case support")
Signed-off-by: default avatarJae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
Reviewed-by: default avatarBrendan Higgins <brendanhiggins@google.com>
Acked-by: default avatarJoel Stanley <joel@jms.id.au>
Tested-by: default avatarTao Ren <taoren@fb.com>
Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
parent 7d194c21
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment