brcm2708: update to latest version
[openwrt/staging/dedeckeh.git] / target / linux / brcm2708 / patches-4.4 / 0230-add-smsc95xx-packetsize-module_param.patch
diff --git a/target/linux/brcm2708/patches-4.4/0230-add-smsc95xx-packetsize-module_param.patch b/target/linux/brcm2708/patches-4.4/0230-add-smsc95xx-packetsize-module_param.patch
new file mode 100644 (file)
index 0000000..b4005c9
--- /dev/null
@@ -0,0 +1,42 @@
+From 3cea4c3fef10a33547949610d9a81ac9950b5be9 Mon Sep 17 00:00:00 2001
+From: Sam Nazarko <email@samnazarko.co.uk>
+Date: Fri, 1 Apr 2016 17:27:21 +0100
+Subject: [PATCH 230/232] add smsc95xx packetsize module_param
+
+Signed-off-by: Sam Nazarko <email@samnazarko.co.uk>
+---
+ drivers/net/usb/smsc95xx.c | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+--- a/drivers/net/usb/smsc95xx.c
++++ b/drivers/net/usb/smsc95xx.c
+@@ -83,6 +83,10 @@ static char *macaddr = ":";
+ module_param(macaddr, charp, 0);
+ MODULE_PARM_DESC(macaddr, "MAC address");
++static int packetsize = 0;
++module_param(packetsize, int, 0644);
++MODULE_PARM_DESC(packetsize, "Override the RX URB packet size");
++
+ static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index,
+                                           u32 *data, int in_pm)
+ {
+@@ -1006,13 +1010,13 @@ static int smsc95xx_reset(struct usbnet
+       if (!turbo_mode) {
+               burst_cap = 0;
+-              dev->rx_urb_size = MAX_SINGLE_PACKET_SIZE;
++              dev->rx_urb_size = packetsize ? packetsize : MAX_SINGLE_PACKET_SIZE;
+       } else if (dev->udev->speed == USB_SPEED_HIGH) {
+-              burst_cap = DEFAULT_HS_BURST_CAP_SIZE / HS_USB_PKT_SIZE;
+-              dev->rx_urb_size = DEFAULT_HS_BURST_CAP_SIZE;
++              dev->rx_urb_size = packetsize ? packetsize : DEFAULT_HS_BURST_CAP_SIZE;
++              burst_cap = dev->rx_urb_size / HS_USB_PKT_SIZE;
+       } else {
+-              burst_cap = DEFAULT_FS_BURST_CAP_SIZE / FS_USB_PKT_SIZE;
+-              dev->rx_urb_size = DEFAULT_FS_BURST_CAP_SIZE;
++              dev->rx_urb_size = packetsize ? packetsize : DEFAULT_FS_BURST_CAP_SIZE;
++              burst_cap = dev->rx_urb_size / FS_USB_PKT_SIZE;
+       }
+       netif_dbg(dev, ifup, dev->net, "rx_urb_size=%ld\n",