aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/usb
diff options
context:
space:
mode:
authorBjørn Mork <bjorn@mork.no>2014-05-16 21:48:24 +0200
committerDavid S. Miller <davem@davemloft.net>2014-05-16 22:39:01 -0400
commit43e4c6dfc0fd781e68f20caf563a06f5c6ece995 (patch)
treea93b3046f1204521f36dba8c57c7ca8e0c3d8d83 /include/linux/usb
parentnet: cdc_ncm: use true max dgram count for header estimates (diff)
downloadlinux-dev-43e4c6dfc0fd781e68f20caf563a06f5c6ece995.tar.xz
linux-dev-43e4c6dfc0fd781e68f20caf563a06f5c6ece995.zip
net: cdc_ncm: set reasonable padding limits
We pad frames larger than X to maximum size for devices which don't need a ZLP after maximum sized frames. This allows the device to optimize its transfers for one fixed buffer size. X was arbitrarily set at 512 bytes regardless of real buffer maximum, causing extreme overheads due to excessive padding of larger tx buffers. Limit the padding to at most 3 full USB packets, still allowing the overhead to payload ratio of 3/1. Signed-off-by: Bjørn Mork <bjorn@mork.no> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/usb')
-rw-r--r--include/linux/usb/cdc_ncm.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/usb/cdc_ncm.h b/include/linux/usb/cdc_ncm.h
index 60a44b8a464e..79de6724d398 100644
--- a/include/linux/usb/cdc_ncm.h
+++ b/include/linux/usb/cdc_ncm.h
@@ -115,6 +115,7 @@ struct cdc_ncm_ctx {
u16 tx_seq;
u16 rx_seq;
u16 connected;
+ u16 min_tx_pkt;
};
u8 cdc_ncm_select_altsetting(struct usb_interface *intf);