Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4840ae17 authored by Bruno Morelli's avatar Bruno Morelli Committed by Greg Kroah-Hartman
Browse files

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: default avatarBruno Morelli <bruno@evidence.eu.com>
Signed-off-by: default avatarClaudio Scordino <claudio@evidence.eu.com>
Tested-by: default avatarBruno Morelli <bruno@evidence.eu.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 872c495d
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -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);
			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);
			if (usb_pipecontrol(urb->pipe)) {
				ep->nextpid = USB_PID_ACK;
				BUG_ON(urb->actual_length > urb->transfer_buffer_length);

				if (urb->status == -EINPROGRESS)