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

Commit 3e323f3e authored by Peter Korsgaard's avatar Peter Korsgaard Committed by Jeff Garzik
Browse files

usbnet: Zero padding byte if there is tail room in skb



Usbnet adds a padding byte if a 0 byte USB packet would be sent. Zero
padding byte if there is tail room in skb.

Signed-of-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
Acked-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>

Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 23de559b
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -953,11 +953,14 @@ static int usbnet_start_xmit (struct sk_buff *skb, struct net_device *net)
	/* don't assume the hardware handles USB_ZERO_PACKET
	 * NOTE:  strictly conforming cdc-ether devices should expect
	 * the ZLP here, but ignore the one-byte packet.
	 *
	 * FIXME zero that byte, if it doesn't require a new skb.
	 */
	if ((length % dev->maxpacket) == 0)
	if ((length % dev->maxpacket) == 0) {
		urb->transfer_buffer_length++;
		if (skb_tailroom(skb)) {
			skb->data[skb->len] = 0;
			__skb_put(skb, 1);
		}
	}

	spin_lock_irqsave (&dev->txq.lock, flags);