tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: USB lockup



Thanks a lot for looking into this!

> Really hard to help without seeing the full ohcidebug usbhist log.
The problem is that file system (or block I/O) seems to lock up so the 
usbhist is hard to get out of the machine other than by canera. 
I guess dump-ing will take ages to complete (16G RAM).
I could try to replace my panic with simply writing something to usbhist 
and aborting the loop.

> I guess the E20 TD got written out with incorrect next_td, or some other
> error condition caused the mixup.
You mean nexttd or td_nexttd? As far as I can tell, neither field is touched 
by the driver without being ohci_dump_td()'d afterwards, and, as I wrote, 
minus the loopback td_nexttd, everything is exactly as one would expect.

> The change I referred to was
I'll have a look into that one tomorrow.

> is something being aborted?
May well be. I haven't checked yet.

My feeling is that this is either a controller error or some sort of 
DMA/cache/barrier/whatever race during the HccaDoneHead manipulation. 
But I'm steadily confused by the writing-a-1-clears-the-bit or 
writing-a-1-sets-the-bit semantics of the registers and know nothing about 
all these cache/barrier/re-ordering issues other that they may exist.

The one nice thing is that the lock-up is easily and 100% reproducible. 
If only these PeCee boxes wouldn't take ages to reboot.


Home | Main Index | Thread Index | Old Index