Skip to content

Commit edd0a6e

Browse files
committed
smsx95xx: Add option to disable the crimes against truesize fix
It may improve iperf numbers on Pi 1, but may generate dmesg warnings and possibly cause network issues See issue 1248.
1 parent 29c79ce commit edd0a6e

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

drivers/net/usb/smsc95xx.c

100755100644
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@ static bool turbo_mode = false;
7575
module_param(turbo_mode, bool, 0644);
7676
MODULE_PARM_DESC(turbo_mode, "Enable multiple frames per Rx transaction");
7777

78+
static bool truesize_mode = false;
79+
module_param(truesize_mode, bool, 0644);
80+
MODULE_PARM_DESC(truesize_mode, "Report larger truesize value");
81+
7882
static char *macaddr = ":";
7983
module_param(macaddr, charp, 0);
8084
MODULE_PARM_DESC(macaddr, "MAC address");
@@ -1841,6 +1845,8 @@ static int smsc95xx_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
18411845
if (dev->net->features & NETIF_F_RXCSUM)
18421846
smsc95xx_rx_csum_offload(skb);
18431847
skb_trim(skb, skb->len - 4); /* remove fcs */
1848+
if (truesize_mode)
1849+
skb->truesize = size + sizeof(struct sk_buff);
18441850

18451851
return 1;
18461852
}
@@ -1858,6 +1864,8 @@ static int smsc95xx_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
18581864
if (dev->net->features & NETIF_F_RXCSUM)
18591865
smsc95xx_rx_csum_offload(ax_skb);
18601866
skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */
1867+
if (truesize_mode)
1868+
ax_skb->truesize = size + sizeof(struct sk_buff);
18611869

18621870
usbnet_skb_return(dev, ax_skb);
18631871
}

0 commit comments

Comments
 (0)