Ben Hutchings <ben@xxxxxxxxxxxxxxx> writes: > On Thu, 2013-03-14 at 12:05 +0100, Bjørn Mork wrote: >> 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@xxxxxxxxxxxxxx> >> Cc: Alexey Orishko <alexey.orishko@xxxxxxxxxxxxxx> >> Reported-by: Geir Haatveit <nospam@xxxxxxxxxxx> >> Reported-by: Tommi Kyntola <kynde@xxxxxxxxx> >> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=54791 >> Signed-off-by: Bjørn Mork <bjorn@xxxxxxx> >> --- >> >> We now have two users independently reporting this as a 3.8 regression, >> so something needs to be done. I am not sure if adding a new module >> parameter is acceptable for stable, but this problem is definitely a >> regression and no other solutions came up in response to my RFC. >> >> The only real alternative I see for stable, is disabling MBIM support >> on any dual NCM/MBIM function. Which of course will be a regression >> for any user wanting MBIM, making it unacceptable. > [...] > > It definitely makes sense for this to be a run-time parameter. And the > default seems correct for custom kernels. > > For a distribution kernel - at least for Debian, where we can't assume > kernel and userland are always updated together - I think the > compile-time default should be false, and the userland package > (presumably ModemManager?) can install a modprobe.conf file to override > that once it can handle MBIM. We handled KMS transitions in a similar > way. I don't know that it's worth having a Kconfig option for that, > though. We could consider always defaulting to NCM. That would remove the ugliest parts of the code as well. Should I send a new version with such a change? Bundling a modprobe.conf file to enable MBIM with userland tools supporting it is a great idea, and sounds feasible for custom built systems as well. (BTW, if there is any doubt about it, I feel really bad about my recent request to enable MBIM in Debian, where I wrote "enabling the driver will not prevent any existing solution from working.". At the time, I had not seen any of these dual NCM/MBIM functions and I just didn't think about the problems such devices would run into. Sorry about that. I guess I owe you one more...) Bjørn -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html