[PATCH] i2c: aspeed: fix master pending state handling

Jae Hyun Yoo
2019-10-10T23:52:41Z

On 10/10/2019 4:29 PM, Tao Ren wrote:
> On 10/9/19 2:20 PM, Jae Hyun Yoo wrote:
>> 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: 2e57b7cebb98 ("i2c: aspeed: Add multi-master use case support")
>> Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
>
> Tested-by: Tao Ren <taoren@fb.com>
>
> Tested the patch on Facebook Minipack BMC (multi-master i2c-0 environment) and
> everything looks good to me.

Thanks for sharing the test result and your code reviews.

Best,

Jae