... you're not accessing EHCI devices at all. Is HAL or
something else polling them too often? Or are you maybe
doing something else that resembles "real work"?
That watchdog is a bit messy, but it's got two basic tasks:
(a) Take work off the async ring ... bulk and control
transfers will leave an empty QH there for a few
milliseconds before taking it off, to avoid wasting
effort in the common case where another transfer
quickly follows the first one. In the extreme case,
when there's no more work, that ring gets disabled.
(b) A real I/O watchdog ... in case the hardware forgets
to issue some kind of I/O completion interrupt. This
watchdog rarely needs to fire.
So I'm thinking this is most likely a case where something
is sending work to one or more high speed devices.
- Dave
--