> > + /* Check if DMA can be enabled and take over */ > > + if (priv->pos == 1 && rcar_i2c_dma(priv)) > > Shouldn't you check if MSR.MAT is set?
It was set before, when priv->pos == 0. > > > + return; > > Hence ICMCR.ESG is not cleared, violating 57.3.8 (Master Transmit > Operation), Step 3? Clearing ESG is the very first thing we do in the ISR. Otherwise, we run into the race issue we have on this HW and generate an unwanted repeated message.
Description: PGP signature