|
@@ -785,7 +785,7 @@ cdc_ncm_fill_tx_frame(struct usbnet *dev, struct sk_buff *skb, __le32 sign)
|
|
|
skb_out->len > CDC_NCM_MIN_TX_PKT)
|
|
|
memset(skb_put(skb_out, ctx->tx_max - skb_out->len), 0,
|
|
|
ctx->tx_max - skb_out->len);
|
|
|
- else if ((skb_out->len % dev->maxpacket) == 0)
|
|
|
+ else if (skb_out->len < ctx->tx_max && (skb_out->len % dev->maxpacket) == 0)
|
|
|
*skb_put(skb_out, 1) = 0; /* force short packet */
|
|
|
|
|
|
/* set final frame length */
|