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

Commit 9a971dda authored by Ming Lei's avatar Ming Lei Committed by Greg Kroah-Hartman
Browse files

usb: ehci: only prepare zero packet for out transfer if required



Obviously, ZLP is only required for transfer of OUT direction,
so just take same policy with UHCI for ZLP packet.

Signed-off-by: default avatarMing Lei <tom.leiming@gmail.com>
Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 0412560e
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -722,7 +722,8 @@ qh_urb_transaction (

	/*
	 * control requests may need a terminating data "status" ack;
	 * bulk ones may need a terminating short packet (zero length).
	 * other OUT ones may need a terminating short packet
	 * (zero length).
	 */
	if (likely (urb->transfer_buffer_length != 0)) {
		int	one_more = 0;
@@ -731,7 +732,7 @@ qh_urb_transaction (
			one_more = 1;
			token ^= 0x0100;	/* "in" <--> "out"  */
			token |= QTD_TOGGLE;	/* force DATA1 */
		} else if (usb_pipebulk (urb->pipe)
		} else if (usb_pipeout(urb->pipe)
				&& (urb->transfer_flags & URB_ZERO_PACKET)
				&& !(urb->transfer_buffer_length % maxpacket)) {
			one_more = 1;