net: cdc_ncm, cdc_mbim: allow user to prefer NCM for backwards compatibility
authorBjørn Mork <bjorn@mork.no>
Thu, 14 Mar 2013 01:05:13 +0000 (01:05 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 17 Mar 2013 15:59:03 +0000 (11:59 -0400)
commit1e8bbe6cd02fc300c88bd48244ce61ad9c7d1776
tree4d004767ae6ae42ea3f946430ef5d347bc717183
parenta5b8db91442fce9c9713fcd656c3698f1adde1d6
net: cdc_ncm, cdc_mbim: allow user to prefer NCM for backwards compatibility

commit bd329e1 ("net: cdc_ncm: do not bind to NCM compatible MBIM devices")
introduced a new policy, preferring MBIM for dual NCM/MBIM functions if
the cdc_mbim driver was enabled.  This caused a regression for users
wanting to use NCM.

Devices implementing NCM backwards compatibility according to section
3.2 of the MBIM v1.0 specification allow either NCM or MBIM on a single
USB function, using different altsettings.  The cdc_ncm and cdc_mbim
drivers will both probe such functions, and must agree on a common
policy for selecting either MBIM or NCM.  Until now, this policy has
been set at build time based on CONFIG_USB_NET_CDC_MBIM.

Use a module parameter to set the system policy at runtime, allowing the
user to prefer NCM on systems with the cdc_mbim driver.

Cc: Greg Suarez <gsuarez@smithmicro.com>
Cc: Alexey Orishko <alexey.orishko@stericsson.com>
Reported-by: Geir Haatveit <nospam@haatveit.nu>
Reported-by: Tommi Kyntola <kynde@ts.ray.fi>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=54791
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/cdc_mbim.c
drivers/net/usb/cdc_ncm.c
include/linux/usb/cdc_ncm.h