mirror of https://gitee.com/openkylin/linux.git
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: Peter Korsgaard <jacmet@sunsite.dk> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
23de559b8d
commit
3e323f3e86
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue