• David Brownell's avatar
    [PATCH] Re: [linux-usb-devel] unending timeouts (patch for 2.5.22 oops) · 55485613
    David Brownell authored
    Ah, so both of the "hcd-ized" UHCI drivers have a common bug:
    they've got logic to look at the USB_ASYNC_UNLINK flag and
    block unless it's clear ... but the hcd framework is already
    handling the synchronous behavior, so that's wrong.
    
    Try to repeat that with the patch I've attached, which rips
    out that duplicated code ... and so should at least get rid of
    that oops, even if it doesn't entirely fix the timeout issue.
    
    (Or: try with either the OHCI driver, or with the EHCI driver
    through a USB 2.0 hub, if you have appropriate hardware.)
    
    - Dave
    
    p.s. Disclaimer about this patch:  all it does is rip out
          code and make it compile without warnings, but I've
          not tested it otherwise.  There's a possiblity it'll
          uncover latent issues on the other code path, but then
          that's exactly why we only want one unlink code path
          inside the HCDs!  So Greg, please merge anyway ...
    55485613
usb-uhci-hcd.c 18.5 KB