Messages in this thread Patch in this message | | | Date | Sun, 20 Apr 2003 16:08:53 +0800 | From | David Glance <> | Subject | Re: PATCH: usb-uhci: interrupt out with urb->interval 0 |
| |
I am not subscribed to this list - please include me on the 'cc' line.
Version: 2.4.21-pre6 Subsystem: USB Driver: Lego USB Tower
Writing one-short interrupt out transfers without this patch cause the system to hang. Applying this patch fixes that (thankfully after fsck'ing my disk a dozen times!) - however the driver (which works still using usb-ohci on an ohci card) - doesn't work because the reads are failing - returning a ETIMEDOUT.
I am assuming that the changes made (see below) - somehow have affected other aspects of one-shot interrupt in transfers?
Thanks
David
Frode wrote:
A recent change (2.4.21) in the usb-uhci driver calls "uhci_clean_iso_step2" after the completion of one-shot (urb->interval 0) interrupt out transfers. This call clears the list of descriptors. However, it crashes when trying to get the next desciptor in the "for" loop in the "process_interrupt" function, since the list of descriptors are already cleared. A simple change I did was to do a "break" to quit the "for" loop for interrupt out transfers with urb->interval 0.
Thanks, Frode
--- drivers/usb/usb-uhci.c.orig 2003-04-16 15:39:04.000000000 +0200 +++ drivers/usb/usb-uhci.c 2003-04-16 15:39:56.000000000 +0200 @@ -2628,6 +2628,7 @@ // correct toggle after unlink usb_dotoggle (urb->dev, usb_pipeendpoint (urb->pipe), usb_pipeout (urb->pipe)); clr_td_ioc(desc); // inactivate TD + break; } } } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |