generic: cdc_ncm: Add support for moving NDP to end of NCM frame
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 24 Jul 2015 09:10:47 +0000 (09:10 +0000)
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 24 Jul 2015 09:10:47 +0000 (09:10 +0000)
commit279de2065114a7fb5d225ba93637c39c92c073b6
tree150e59aaf9c4cd79ee94d6c2db1dce264fa9af2c
parentbb5126b497a9bd7c63855b38a2f95d834823a65e
generic: cdc_ncm: Add support for moving NDP to end of NCM frame

NCM specs are not actually mandating a specific position in the frame for
the NDP (Network Datagram Pointer). However, some Huawei devices will
ignore our aggregates if it is not placed after the datagrams it points
to. Add support for doing just this, in a per-device configurable way.
While at it, update NCM subdrivers, disabling this functionality in all of
them, except in huawei_cdc_ncm where it is enabled instead.
We aren't making any distinction between different Huawei NCM devices,
based on what the vendor driver does. Standard NCM devices are left
unaffected: if they are compliant, they should be always usable, still
stay on the safe side.

This change has been tested and working with a Huawei E3131 device (which
works regardless of NDP position) and an E3372 device (which mandates NDP
to be after indexed datagrams).

Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
Signed-off-by: Matti Laakso <malaakso@elisanet.fi>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46464 3c298f89-4303-0410-b956-a3cf2f4a3e73
target/linux/generic/patches-3.18/190-cdc_ncm_add_support_for_moving_ndp_to_end_of_ncm_frame.patch [new file with mode: 0644]