mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
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
1 changed files with 6 additions and 3 deletions
|
@ -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…
Add table
Reference in a new issue