Re: [PATCH 1/7] Revert "usb/uas: make sure data urb is gone if we receive status before that"
|[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
On Tue, Jun 19, 2012 at 09:54:48AM +0200, Gerd Hoffmann wrote: > This reverts commit e4d8318a85779b25b880187b1b1c44e797bd7d4b. > > This patch makes uas.c call usb_unlink_urb on data urbs. The data urbs > get freed in the completion callback. This is illegal according to the > usb_unlink_urb documentation. > > This patch also makes the code expect the data completion callback > being called before the status completion callback. This isn't > guaranteed to be the case, even though the actual data transfer should > be finished by the time the status is received. > > Background: The ehci irq handler for example only know that there are > finished transfers, it then has go check the QHs & TDs to see which > transfers did actually finish. It has no way to figure in which order > the transfers did complete. The xhci driver can call the callbacks in > completion order thanks to the event queue. This does nicely explain > why the driver is solid on a (usb2) xhci port whereas it goes crazy on > ehci in my testing. > > Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx> > --- Should this revert also go into 3.4-stable so that the device will work properly on ehci? thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
[Linux Media] [Video for Linux] [Linux Input] [Linux Audio Users] [Photo] [Yosemite News] [Yosemite Photos] [Free Online Dating] [Linux Kernel] [Linux SCSI] [Old Linux USB Devel Archive] [More Archives]