mirror of
https://git.yoctoproject.org/meta-ti
synced 2026-07-27 06:18:13 +00:00
2177f80076
Duplicate patches between PSP and 3.2.17 have been dropped from the 3.2.17 series Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Denys Dmytriyenko <denys@ti.com>
46 lines
1.6 KiB
Diff
46 lines
1.6 KiB
Diff
From ccd532b836540eb1f0e1d9eee4a87b8403d729c1 Mon Sep 17 00:00:00 2001
|
|
From: Ingo van Lil <inguin@gmx.de>
|
|
Date: Mon, 23 Apr 2012 22:05:38 +0000
|
|
Subject: [PATCH 10/56] asix: Fix tx transfer padding for full-speed USB
|
|
|
|
[ Upstream commit 2a5809499e35b53a6044fd34e72b242688b7a862 ]
|
|
|
|
The asix.c USB Ethernet driver avoids ending a tx transfer with a zero-
|
|
length packet by appending a four-byte padding to transfers whose length
|
|
is a multiple of maxpacket. However, the hard-coded 512 byte maxpacket
|
|
length is valid for high-speed USB only; full-speed USB uses 64 byte
|
|
packets.
|
|
|
|
Signed-off-by: Ingo van Lil <inguin@gmx.de>
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
|
---
|
|
drivers/net/usb/asix.c | 4 ++--
|
|
1 files changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/drivers/net/usb/asix.c b/drivers/net/usb/asix.c
|
|
index fda4be2..a9abee8 100644
|
|
--- a/drivers/net/usb/asix.c
|
|
+++ b/drivers/net/usb/asix.c
|
|
@@ -403,7 +403,7 @@ static struct sk_buff *asix_tx_fixup(struct usbnet *dev, struct sk_buff *skb,
|
|
u32 packet_len;
|
|
u32 padbytes = 0xffff0000;
|
|
|
|
- padlen = ((skb->len + 4) % 512) ? 0 : 4;
|
|
+ padlen = ((skb->len + 4) & (dev->maxpacket - 1)) ? 0 : 4;
|
|
|
|
if ((!skb_cloned(skb)) &&
|
|
((headroom + tailroom) >= (4 + padlen))) {
|
|
@@ -425,7 +425,7 @@ static struct sk_buff *asix_tx_fixup(struct usbnet *dev, struct sk_buff *skb,
|
|
cpu_to_le32s(&packet_len);
|
|
skb_copy_to_linear_data(skb, &packet_len, sizeof(packet_len));
|
|
|
|
- if ((skb->len % 512) == 0) {
|
|
+ if (padlen) {
|
|
cpu_to_le32s(&padbytes);
|
|
memcpy(skb_tail_pointer(skb), &padbytes, sizeof(padbytes));
|
|
skb_put(skb, sizeof(padbytes));
|
|
--
|
|
1.7.7.6
|
|
|