> > What's should I expect when the device STALLs a control read? How do I > > detect this condition so I can unlink the urb? > > Hmm, as I understand it devices are allowed to report "protocol stalls" > for cases like "device doesn't implement that control request". BUT > they're not allowed to actually halt a control endpoint ... in fact, control > requests must always get through. >
The device ACKs the SETUP stage but STALLs the data stage and status stage because it does not support the request. Meanwhile my driver is waiting for the urb to come back but it never does. I do get this debug message (which I don't for normal, ACKd transactions): usb-uhci.c: interrupt, status 2, frame# 1604 This is the frame where the device STALLd the status stage OUT transaction, so I think the usb-uhci module recognizes the STALL. I don't know if it's supposed to invoke the urb callback at this point or what, but it doesn't provide my driver any indication that the transaction is over. Regards, --gmcnutt > You shouldn't need to unlink anything. "-EPIPE" is just a normal > response that gets delivered to your driver's completion function > when the control URB is unlinked. Once you see that report, there > should be no further record in usbcore that it happened. > > - Dave > > > _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
