Hi Wolfram, On Tue, Mar 12, 2019 at 1:50 PM Wolfram Sang <wsa@xxxxxxxxxxxxx> wrote: > > > + /* 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. Thanks! Obviously I should work on improving my i2c-rcar foo ... ;-) Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds