> > disabling the ohc interrupts during the interrupt routine (the ohci spec
> > says to) appears to help, but i havn't been running that for very long.
indeed, a hour or so later, it started acting up.

the devices keep working if i jump back to the beginning of the handler
when donehead changes... nose wrinkle.

> so i guess the question is the interrupt ohci is using edge or level.
> if level, interrupts are going to be masked by the level and that
> wouldn't be your problem.
and it doesn't appear to be the problem.

my understanding is that donehead shouldn't change, because the hcd has
no way of knowing that the driver has read anything.

> i suppose it could also be that shared usb hardware has more than one
> interrupt enabled?
what? do you mean multiple devices on the interrupt or different types of
interrupts?

so far (and this is only an hour or so of use) donehead only changes from
nil to a real pointer, which leaves very little time in the routine.
cycles says [300,386].

which of course means that it isn't changing, it's just an interrupt with
without status&Wdh but with donehead set. checking for Wdh is running
perfectly well now.

thank you,
tristan

-- 
All original matter is hereby placed immediately under the public domain.

Reply via email to