>Hi Shikai, > >On Tue, Feb 19, 2019 at 8:19 AM Shikai Wang <sxauwsk@xxxxxxx> wrote: >> >> When the adapter receive arbitration lost error interrupts, >> cdns_i2c_master_xfer return to the caller directly instead of resetting >> the adapter which resulted in the adapter being out of control. >> >> So when driver detect err_status such as arbitration lost, >> then try to repair and fix it. >> >I am missing the issue that you are facing. >You are having a multimaster scenario and getting arbitration lost. > >the current code would attempt a retry did that lead to any issues? > >Can you explain the issue that you are facing? Of cource, The following describe my situation. In my product, Touchscreen connect to zynq-7000 XC7Z010 by i2c bus( Just connect only one i2c-device of touchscreen), when user tap Touchscreen, Touchscreen interrupt send to CPU and notifyed i2c-driver to obtain location data by i2c-bus, when Tap the screen frequently, sometimes CPU get interrupt from touchscreen and try to obtain data, then detect arbitration lost, Although i2c-driver try three times, it's useless. Actually i2c clock-line and data-line keep high, that mean i2c bus free. Once this situation occur, i2c-control did't work anynay but cpu receive interrputs still. I am sorry that I have't found a good solution for this issuse;