brcm2708: update linux 4.4 patches to latest version
[openwrt/openwrt.git] / target / linux / brcm2708 / patches-4.4 / 0165-smsx95xx-Add-option-to-disable-the-crimes-against-tr.patch
1 From 18674a7da1c3d50d9c957a8f88aaea2aa653d223 Mon Sep 17 00:00:00 2001
2 From: popcornmix <popcornmix@gmail.com>
3 Date: Wed, 20 Jan 2016 17:50:09 +0000
4 Subject: [PATCH 165/170] smsx95xx: Add option to disable the crimes against
5 truesize fix
6
7 It may improve iperf numbers on Pi 1, but may generate dmesg warnings and possibly cause network issues
8 See issue 1248.
9 ---
10 drivers/net/usb/smsc95xx.c | 8 ++++++++
11 1 file changed, 8 insertions(+)
12 mode change 100755 => 100644 drivers/net/usb/smsc95xx.c
13
14 --- a/drivers/net/usb/smsc95xx.c
15 +++ b/drivers/net/usb/smsc95xx.c
16 @@ -75,6 +75,10 @@ static bool turbo_mode = false;
17 module_param(turbo_mode, bool, 0644);
18 MODULE_PARM_DESC(turbo_mode, "Enable multiple frames per Rx transaction");
19
20 +static bool truesize_mode = false;
21 +module_param(truesize_mode, bool, 0644);
22 +MODULE_PARM_DESC(truesize_mode, "Report larger truesize value");
23 +
24 static char *macaddr = ":";
25 module_param(macaddr, charp, 0);
26 MODULE_PARM_DESC(macaddr, "MAC address");
27 @@ -1841,6 +1845,8 @@ static int smsc95xx_rx_fixup(struct usbn
28 if (dev->net->features & NETIF_F_RXCSUM)
29 smsc95xx_rx_csum_offload(skb);
30 skb_trim(skb, skb->len - 4); /* remove fcs */
31 + if (truesize_mode)
32 + skb->truesize = size + sizeof(struct sk_buff);
33
34 return 1;
35 }
36 @@ -1858,6 +1864,8 @@ static int smsc95xx_rx_fixup(struct usbn
37 if (dev->net->features & NETIF_F_RXCSUM)
38 smsc95xx_rx_csum_offload(ax_skb);
39 skb_trim(ax_skb, ax_skb->len - 4); /* remove fcs */
40 + if (truesize_mode)
41 + ax_skb->truesize = size + sizeof(struct sk_buff);
42
43 usbnet_skb_return(dev, ax_skb);
44 }