Messages in this thread | | | Date | Fri, 7 Jun 2013 08:23:53 +0300 | From | Mika Westerberg <> | Subject | Re: [PATCH 1/2] i2c: designware: fix race between subsequent xfers |
| |
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?
| |