cafe_ccic/ov7670 hang on boot

Daniel Drake dsd at laptop.org
Wed Jun 18 12:33:16 EDT 2008


On Wed, 2008-06-18 at 09:55 -0600, Jonathan Corbet wrote:
> I'll try to look into it tomorrow.  Things may be slow; whenever I get
> back into OLPC stuff after a long lapse it always seems to take me a day
> to get back to where I can build new kernels and successfully install
> them on a laptop.

Feel free to ask me for help. I've just had to figure out all this stuff
for myself.

> Meanwhile:
> 
> > I added a loop counter and made it print out a message when it reaches
> > the 500th iteration. It hit the condition rather quickly, and in the
> > first case: addr=0x42 command=0x46 value=0x58
> 
> How quickly?  Given the schedule_timeout(1) call, it should take a good
> five seconds to iterate five hundred times at HZ=100.  Might you
> (generic OLPC "you") have bumped HZ at some point?  If you have a
> moment, could you try restoring the upstream code, but changing the
> schedule_timeout() line to:

Sorry, I didn't phrase that right. By "quickly" I meant that it only
took about 15 reboots before the infinite loop happened. For any
particular session where the inifinite loop happens, it does indeed take
about 5 seconds to hit the 500th iteration.

> 	schedule_timeout(10);

It doesn't help, already seen two crashes.

Erik also tried increasing the udelay() inside cafe_smbus_write_done()
from 20 to 100. No change, the infinite loop still happens.

Thanks,
Daniel





More information about the Devel mailing list