Hi Christian, On Thu, Jun 06, 2013 at 03:43:35PM +0200, Christian Ruppert wrote: > The designware block is not always properly disabled in the case of > transfer errors. Interrupts from aborted transfers might be handled > after the data structures for the following transfer are initialised but > before the hardware is set up. This might corrupt the data structures to > the point that the system is stuck in an infinite interrupt loop (where > FIFOs are never emptied). > This patch cleanly disables the designware-i2c hardware at the end of > every transfer, successful or not. Have you tried with the latest mainline driver? There is a commit that solves similar problem: 2a2d95e9d6d29e7 i2c: designware: always clear interrupts before enabling them Maybe it helps? -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html