restoring ov7670/cafe_ccic to previous state

Daniel Drake dsd at laptop.org
Mon Jun 23 17:58:27 EDT 2008


Hi,

As you may have heard, olpc3 builds occasionally hang on boot during
cafe_ccic/ov7670 initialization.

Erik and myself tracked down the problem to this upstream commit, which
has never been shipped in an olpc stream before olpc3:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff_plain;h=6d77444
On boots where the bug appears, the do..while loop added by the patch
iterates indefinitely.

Jon Corbet is looking into the problem, but I feel that we should revert
the driver to the update1 state for the time being. We should be
starting to stabilise olpc3.

This can be done by reverting Jon's commit, and re-applying David
Woodhouse's commit from the stable branch:
http://dev.laptop.org/git?p=olpc-2.6;a=commitdiff;h=4ef53002bc

Both David's and Jon's patches have the effect of reducing the
initialization time (with both landing driver initialization time at
approximately 300ms). David's "fix" is not as comprehensive as Jon's,
but it works.

I've published a git tree with these changes applied to the master and
testing branches at git://dev.laptop.org/users/dsd/olpc-2.6

Daniel





More information about the Devel mailing list