USB: isp1362-hcd.c: usb message always saved in case of underrun
The usb message must be saved also in case the USB endpoint is not a control endpoint (i.e., "endpoint 0"), otherwise in some circumstances we don't have a payload in case of error. The patch has been created by tracing with usbmon the different error messages generated by this driver with respect to the ehci-hcd driver. Signed-off-by: Bruno Morelli <bruno@evidence.eu.com> Signed-off-by: Claudio Scordino <claudio@evidence.eu.com> Tested-by: Bruno Morelli <bruno@evidence.eu.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
872c495dd0
Коммит
4840ae17ba
|
@ -543,12 +543,12 @@ static void postproc_ep(struct isp1362_hcd *isp1362_hcd, struct isp1362_ep *ep)
|
|||
usb_pipein(urb->pipe) ? "IN" : "OUT", ep->nextpid,
|
||||
short_ok ? "" : "not_",
|
||||
PTD_GET_COUNT(ptd), ep->maxpacket, len);
|
||||
/* save the data underrun error code for later and
|
||||
* proceed with the status stage
|
||||
*/
|
||||
urb->actual_length += PTD_GET_COUNT(ptd);
|
||||
if (usb_pipecontrol(urb->pipe)) {
|
||||
ep->nextpid = USB_PID_ACK;
|
||||
/* save the data underrun error code for later and
|
||||
* proceed with the status stage
|
||||
*/
|
||||
urb->actual_length += PTD_GET_COUNT(ptd);
|
||||
BUG_ON(urb->actual_length > urb->transfer_buffer_length);
|
||||
|
||||
if (urb->status == -EINPROGRESS)
|
||||
|
|
Загрузка…
Ссылка в новой задаче