> > + /* flush TX/RX FIFOs */ > > + val = (BIT(S_FIFO_RX_FLUSH_SHIFT) | BIT(S_FIFO_TX_FLUSH_SHIFT)); > > + writel(val, iproc_i2c->base + S_FIFO_CTRL_OFFSET); > > Will flushing FIFOs work when a slave is register while a master > transfer is on-going at the same time? Sorry, my bad, this can't happen. Registering a slave is protected by the adapter lock.