diff options
author | Bjørn Mork <bjorn@mork.no> | 2014-05-16 15:48:24 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-05-16 22:39:01 -0400 |
commit | 43e4c6dfc0fd781e68f20caf563a06f5c6ece995 (patch) | |
tree | a93b3046f1204521f36dba8c57c7ca8e0c3d8d83 /include/linux/usb/cdc_ncm.h | |
parent | 70559b8970e52aa9962dc823fd4498af06809544 (diff) |
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/cdc_ncm.h')
-rw-r--r-- | include/linux/usb/cdc_ncm.h | 1 |
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 { | |||
115 | u16 tx_seq; | 115 | u16 tx_seq; |
116 | u16 rx_seq; | 116 | u16 rx_seq; |
117 | u16 connected; | 117 | u16 connected; |
118 | u16 min_tx_pkt; | ||
118 | }; | 119 | }; |
119 | 120 | ||
120 | u8 cdc_ncm_select_altsetting(struct usb_interface *intf); | 121 | u8 cdc_ncm_select_altsetting(struct usb_interface *intf); |