OpenCloudOS-Kernel/include/linux/usb
Enrico Mioso 4a0e3e989d 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), a Huawei E3531 (also working both
ways) and an E3372 (which mandates NDP to be after indexed datagrams).

V1->V2:
- corrected wrong NDP acronym definition
- fixed possible NULL pointer dereference
- patch cleanup
V2->V3:
- Properly account for the NDP size when writing new packets to SKB

Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-07-09 14:58:31 -07:00
..
association.h
atmel_usba_udc.h
audio-v2.h
audio.h
c67x00.h
cdc-wdm.h
cdc_ncm.h cdc_ncm: Add support for moving NDP to end of NCM frame 2015-07-09 14:58:31 -07:00
ch9.h
chipidea.h usb: chipidea: add a flag for turn on vbus early for host 2015-03-18 16:19:12 +01:00
composite.h usb: gadget: composite: add req_match method to usb_function 2015-03-10 15:33:39 -05:00
ehci-dbgp.h usb: Remove __init from early_dbgp_init() prototype 2014-11-07 09:02:38 -08:00
ehci_def.h usb: Create separate header for ehci-dbgp 2014-11-07 09:02:37 -08:00
ehci_pdriver.h USB: host: Introduce flag to enable use of 64-bit dma_mask for ehci-platform 2015-01-25 20:48:28 +08:00
ezusb.h
functionfs.h
g_hid.h
gadget.h usb: udc: add usb_udc_vbus_handler 2015-03-19 11:26:03 -05:00
gadget_configfs.h
gpio_vbus.h
hcd.h USB: hcd.h : Removed an unnecessary function prototype usb_find_interface_driver() 2015-05-31 15:51:23 +09:00
input.h
iowarrior.h
irda.h
isp116x.h
isp1301.h
isp1362.h
isp1760.h
m66592.h
msm_hsusb.h usb: phy: msm: Manual PHY and LINK controller VBUS change notification 2015-04-28 11:49:15 -05:00
msm_hsusb_hw.h usb: phy: msm: Manual PHY and LINK controller VBUS change notification 2015-04-28 11:49:15 -05:00
musb-omap.h
musb-ux500.h
musb.h
net2280.h usb: gadget: net2280: check interrupts for all endpoints 2015-05-26 10:40:11 -05:00
of.h usb: common: add API to get if the platform supports TPL 2014-09-23 21:28:41 -07:00
ohci_pdriver.h
otg-fsm.h usb: otg-fsm: move 2 otg fsm timers definition to otg_fsm_timer 2015-03-26 10:54:39 +01:00
otg.h usb: add support to the generic PHY framework in OTG 2014-11-03 10:01:25 -06:00
phy.h usb: phy: add static inline wrapper for devm_usb_get_phy_by_node 2015-05-28 09:15:32 -05:00
phy_companion.h
quirks.h USB: quirks.h: use BIT() 2014-09-23 22:23:55 -07:00
r8a66597.h
renesas_usbhs.h usb: renesas_usbhs: Change USBHS_TYPE_R8A779x to USBHS_TYPE_RCAR_GEN2 2015-05-26 10:39:39 -05:00
rndis_host.h
samsung_usb_phy.h
serial.h Revert "USB: serial: make bulk_out_size a lower limit" 2015-02-26 17:02:15 +01:00
sl811.h
storage.h
tegra_usb_phy.h
tilegx.h
uas.h
ulpi.h usb: add bus type for USB ULPI 2015-05-13 12:04:55 -05:00
usb338x.h usb: gadget: net2280: fix use of GPEP in both directions 2015-05-26 10:40:16 -05:00
usb_phy_generic.h usb: phy: generic: add vbus support 2015-01-12 12:13:29 -06:00
usbnet.h usbnet: Fix tx_bytes statistic running backward in cdc_ncm 2015-03-29 12:06:45 -07:00
wusb-wa.h
wusb.h
xhci_pdriver.h xhci: Platform: Set xhci lpm support quirk based on platform data 2014-07-09 15:41:34 -07:00