[PATCH 3/3] fix-stop-sitting-printing-in-time-critical-context.patch
andy at openmoko.com
Tue Aug 26 20:48:14 CEST 2008
-----BEGIN PGP SIGNED MESSAGE-----
Somebody in the thread at some point said:
| On Fri, Aug 01, 2008 at 07:54:23AM +0100, Andy Green wrote:
|> Someone left us a big fat warning in USB device code
|> /* Don't ever put [serial] debugging in non-error codepaths here, it
|> * will violate the tight timing constraints of this USB Device
|> * controller (and lead to bus enumeration failures) */
| just a minor sidenote: It was me who wrote that warning. I must have
| lost a week in finding this out. In the end I even found out that if
| core clock is not running fast enough, the timing constraints are
| the enumeration fails.
| It's a problem that you usually just don't think would happen on a
| several-hundred-MHz core with something als comparatively slow as
| behind a device controller that's supposed to handle the most critical
| and offer a FIFO-based interface.
I appreciated the warning because when I paid attention to it, it
aborted my would-have-been-week into a day.
No, one doesn't expect the hardware USB unit to go insane until the
device is reset because we were a little delayed servicing its
interrupt! I guess the same can happen in Linux if there was ever long
service time ISR with higher priority that pushed out this one's latency.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
-----END PGP SIGNATURE-----
More information about the openmoko-kernel