4152b387da
In certain kernel configurations where the cdc_ether and option drivers are compiled as modules there can occur a race condition in enumeration. This causes the option driver to enumerate the ethernet(wwan) interface as usb-serial interfaces. usb-devices output for the modem: T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 5 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=1e2d ProdID=0055 Rev=00.00 S: Manufacturer=Cinterion S: Product=AHx C: #Ifs= 6 Cfg#= 1 Atr=e0 MxPwr=10mA I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option I: If#= 4 Alt= 0 #EPs= 1 Cls=02(commc) Sub=06 Prot=00 Driver=cdc_ether I: If#= 5 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether Signed-off-by: John Ernberg <john.ernberg@actia.se> Fixes: |
||
---|---|---|
.. | ||
aircable.c | ||
ark3116.c | ||
belkin_sa.c | ||
belkin_sa.h | ||
bus.c | ||
ch341.c | ||
console.c | ||
cp210x.c | ||
cyberjack.c | ||
cypress_m8.c | ||
cypress_m8.h | ||
digi_acceleport.c | ||
empeg.c | ||
ezusb_convert.pl | ||
f81232.c | ||
ftdi_sio_ids.h | ||
ftdi_sio.c | ||
ftdi_sio.h | ||
garmin_gps.c | ||
generic.c | ||
io_16654.h | ||
io_edgeport.c | ||
io_edgeport.h | ||
io_ionsp.h | ||
io_tables.h | ||
io_ti.c | ||
io_ti.h | ||
io_usbvend.h | ||
ipaq.c | ||
ipw.c | ||
ir-usb.c | ||
iuu_phoenix.c | ||
iuu_phoenix.h | ||
Kconfig | ||
keyspan_pda.c | ||
keyspan_usa26msg.h | ||
keyspan_usa28msg.h | ||
keyspan_usa49msg.h | ||
keyspan_usa67msg.h | ||
keyspan_usa90msg.h | ||
keyspan.c | ||
keyspan.h | ||
kl5kusb105.c | ||
kl5kusb105.h | ||
kobil_sct.c | ||
kobil_sct.h | ||
Makefile | ||
Makefile-keyspan_pda_fw | ||
mct_u232.c | ||
mct_u232.h | ||
metro-usb.c | ||
mos7720.c | ||
mos7840.c | ||
mxu11x0.c | ||
mxuport.c | ||
navman.c | ||
omninet.c | ||
opticon.c | ||
option.c | ||
oti6858.c | ||
oti6858.h | ||
pl2303.c | ||
pl2303.h | ||
qcaux.c | ||
qcserial.c | ||
quatech2.c | ||
safe_serial.c | ||
sierra.c | ||
spcp8x5.c | ||
ssu100.c | ||
symbolserial.c | ||
ti_usb_3410_5052.c | ||
ti_usb_3410_5052.h | ||
usb_debug.c | ||
usb_wwan.c | ||
usb-serial-simple.c | ||
usb-serial.c | ||
usb-wwan.h | ||
visor.c | ||
visor.h | ||
whiteheat.c | ||
whiteheat.h | ||
wishbone-serial.c | ||
xsens_mt.c |