> I've just re-run the test which triggered the BUG() for me with your
> ohci-0508 patch applied. Works fine for me, no BUG() or other problems
> encountered. However, IMHO it is not the whole story yet ...
>
> Below, I've included the patch (to be applied after your ohci-0508!).
> Tested as before, i.e. not covering the error path (would require an
> iso/int overallocation situation).
OK, here's the updated patch. Against 2.4.5-pre4:
- urb submission gets the ohci spinlock earlier, so the corruption
won't happen ... the bug you (and others) have reported. Came
to us with the hashchain code; not enough stress testing.
- restores td_alloc() use of SLAB_ATOMIC (it's holding that
spinlock, so it shouldn't sleep!) ... nobody reported this.
- merges two tweaks from the "ac" tree ... handles various
platform quirks (in ohci hardware or pci irq assignment)
It does NOT include the test-this code to flush the pci write pipelines;
no reports that it mattered, it could go in later if it helps.
This ought to be fine to send to Linus -- confirmation?
- Dave
ohci-0520.patch