net: cdc_ncm: workaround for missing CDC Union
authorBjørn Mork <bjorn@mork.no>
Mon, 21 Jan 2013 05:50:38 +0000 (05:50 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 21 Jan 2013 19:21:16 +0000 (14:21 -0500)
commit9992c2e2fbb72ffc63d4587c4aa94dfcd8229e55
tree845edf91403629efe76be4de0e622815ec37b743
parent8141ed9fcedb278f4a3a78680591bef1e55f75fb
net: cdc_ncm: workaround for missing CDC Union

Adding support for the MBIM mode in some Sierra Wireless devices.

Some Sierra Wireless firmwares support CDC MBIM but have no CDC
Union funtional descriptor. This violates the MBIM specification,
but we can easily work around the bug by looking at the Interface
Association Descriptor instead.  This is most likely what
Windows uses too, which explains how the firmware bug has gone
unnoticed until now.

This change will not affect any currently supported device
conforming to the NCM or MBIM specifications, as they must have
the CDC Union descriptor.

Cc: Greg Suarez <gsuarez@smithmicro.com>
Cc: Alexey Orishko <alexey.orishko@stericsson.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