-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 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 literally | lost a week in finding this out. In the end I even found out that if the CPU | core clock is not running fast enough, the timing constraints are violated and | 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 11MHz USB | behind a device controller that's supposed to handle the most critical stuff | 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. - -Andy -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org iEYEARECAAYFAki0T+4ACgkQOjLpvpq7dMoeywCdGkkTBdtjwwGcl0YD1bhJUI6I gJAAn2g0Inrc0VKxlKmDsiOlsAwQv/IV =uebq -----END PGP SIGNATURE-----
