• Bjørn Mork's avatar
    net: cdc_ncm: do not bind to NCM compatible MBIM devices · bd329e12
    Bjørn Mork authored
    The MBIM specification allows a MBIM device to disguise
    itself as NCM for backwards compatibility, using additional
    altsettings with different subclass (control) or protocol
    (data):
    
    C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA
    I:  If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=cdc_mbim
    E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=7ms
    I:* If#= 0 Alt= 1 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim
    E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=7ms
    I:  If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_mbim
    I:  If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_mbim
    E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    I:* If#= 1 Alt= 2 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
    E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
    
    If the MBIM driver is enabled then that should have priority
    for devices providing such a NCM 1.0 backward compatibility
    mode.
    Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
    Signed-off-by: default avatarGreg Suarez <gsuarez@smithmicro.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    bd329e12
cdc_ncm.c 34.4 KB