net: cdc_ncm: add Huawei devices
authorBjørn Mork <bjorn@mork.no>
Tue, 13 Nov 2012 03:19:43 +0000 (03:19 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 13 Nov 2012 19:33:28 +0000 (14:33 -0500)
commitbbc8d9228ea8e37ce29fa96150d10b85a2c7be60
tree849a396143e9ffdd3ca787c05d8b0cef3c8279aa
parent7702745b15128e5f0659693736a864e35be1c807
net: cdc_ncm: add Huawei devices

A number of Huawei 3G and LTE modems implement a CDC NCM function,
including the necessary functional descriptors, but using a non
standard interface layout and class/subclass/protocol codes.

These devices can be handled by this driver with only a minor
change to the probing logic, allowing a single combined control
and data interface.  This works because the devices
- include a CDC Union descriptor labelling the combined
  interface as both master and slave, and
- have an alternate setting #1 for the bulk endpoints on the
  combined interface.

The 3G/LTE network connection is managed by vendor specific AT
commands on a serial function in the same composite device.
Handling the managment function is out of the scope of this
driver.  It will be handled by an appropriate USB serial
driver.

Reported-and-Tested-by: Olof Ermis <olof.ermis@gmail.com>
Reported-and-Tested-by: Tommy Cheng <tommy7765@yahoo.com>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/cdc_ncm.c