Hi, On Thu, Jan 24, 2013 at 11:05:11AM +0200, Aaro Koskinen wrote: > On Wed, Jan 23, 2013 at 12:23:04PM +0200, Felipe Balbi wrote: > > In case we loop on IRQ handler until stat is > > finally zero, we would end up in a situation > > where all I2C transfers would misteriously > > timeout because we were not calling complete() > > in that situation. > > This is wrong, you may still have bytes to transfer, > but a new interrupt has not arrived yet. > > This patch also breaks bisection; if you just apply patches 1-2 of > this series the I2C does not work at all. probably another n900-thing. What I had seen is that we could endup in a situation where we wouldn't "break" out of the look, and rather would fall in the "goto out" when STAT register is zero. In that case, even if we had transferred all bytes, we wouldn't call complete() and, thus, our commands would timeout. Care to send console logs of the error you have seen ? I kinda doubt we can fall into the situation you described above where IRQ hasn't been updated to STAT register. -- balbi
Attachment:
signature.asc
Description: Digital signature