[RFC PATCH dev-5.1 4/6] i2c: aspeed: fix master pending state handling

Tao Ren taoren at fb.com
Sat Jun 22 08:11:00 AEST 2019


On 6/20/19 1:34 PM, Jae Hyun Yoo wrote:
> On 6/20/2019 1:30 PM, Tao Ren wrote:
>> On 6/20/19 12:49 PM, Jae Hyun Yoo wrote:
>>> In case of a master pending state, it should not trigger the master
>>> command because this H/W is sharing the same data buffer for slave
>>> and master operation, so this commit fixes the issue with making
>>> the master command triggering happens when the state goes to active
>>> state.
>>>
>>> Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo at linux.intel.com>
>>
>> Thank you Jae for the patch. I believe I hit the bug while debugging BMC-BIC multi-master communication on my Minipack ast2500 BMC platform. Let me apply the patch and run some testing, will try to share my results by this Friday (Pacific Time).
> 
> Thank you Tao for your help for testing it. It would be really helpful
> to complete this patch implementation. Will wait the test results.
> 
> Regards,
> Jae

Hi Jae,

Although my problem is not fixed by this patch, nothing gets worse :) And patch itself looks reasonable to me.

The problem I'm facing is: i2c-0 (multi-master) stays in "SLAVE_ACTIVE" state: slave_state is brought back to SLAVE_START again and again due to SLAVE_MATCH interrupt. I didn't get chance to check master state machine, but I'd assume it's always pending which explains why userspace applications get "connection timed out" error for i2c master transfers. 


Cheers,

Tao


More information about the openbmc mailing list