Commit 9db273f45686218e055a3738f3311048cbb54fee
Committed by
David S. Miller
1 parent
bc26ccd8fc
Exists in
smarc-l5.0.0_1.0.0-ga
and in
5 other branches
net: qmi_wwan: adding Huawei E367, ZTE MF683 and Pantech P4200
One of the modes of Huawei E367 has this QMI/wwan interface: I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=07 Driver=(none) E: Ad=83(I) Atr=03(Int.) MxPS= 64 Ivl=2ms E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms Huawei use subclass and protocol to identify vendor specific functions, so adding a new vendor rule for this combination. The Pantech devices UML290 (106c:3718) and P4200 (106c:3721) use the same subclass to identify the QMI/wwan function. Replace the existing device specific UML290 entries with generic vendor matching, adding support for the Pantech P4200. The ZTE MF683 has 6 vendor specific interfaces, all using ff/ff/ff for cls/sub/prot. Adding a match on interface #5 which is a QMI/wwan interface. Cc: Fangxiaozhi (Franko) <fangxiaozhi@huawei.com> Cc: Thomas Schäfer <tschaefer@t-online.de> Cc: Dan Williams <dcbw@redhat.com> Cc: Shawn J. Goff <shawn7400@gmail.com> Signed-off-by: Bjørn Mork <bjorn@mork.no> Signed-off-by: David S. Miller <davem@davemloft.net>
Showing 1 changed file with 8 additions and 3 deletions Side-by-side Diff
drivers/net/usb/qmi_wwan.c
| ... | ... | @@ -366,16 +366,20 @@ |
| 366 | 366 | }, |
| 367 | 367 | |
| 368 | 368 | /* 2. Combined interface devices matching on class+protocol */ |
| 369 | + { /* Huawei E367 and possibly others in "Windows mode" */ | |
| 370 | + USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, USB_CLASS_VENDOR_SPEC, 1, 7), | |
| 371 | + .driver_info = (unsigned long)&qmi_wwan_info, | |
| 372 | + }, | |
| 369 | 373 | { /* Huawei E392, E398 and possibly others in "Windows mode" */ |
| 370 | 374 | USB_VENDOR_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, USB_CLASS_VENDOR_SPEC, 1, 17), |
| 371 | 375 | .driver_info = (unsigned long)&qmi_wwan_shared, |
| 372 | 376 | }, |
| 373 | - { /* Pantech UML290 */ | |
| 374 | - USB_DEVICE_AND_INTERFACE_INFO(0x106c, 0x3718, USB_CLASS_VENDOR_SPEC, 0xf0, 0xff), | |
| 377 | + { /* Pantech UML290, P4200 and more */ | |
| 378 | + USB_VENDOR_AND_INTERFACE_INFO(0x106c, USB_CLASS_VENDOR_SPEC, 0xf0, 0xff), | |
| 375 | 379 | .driver_info = (unsigned long)&qmi_wwan_shared, |
| 376 | 380 | }, |
| 377 | 381 | { /* Pantech UML290 - newer firmware */ |
| 378 | - USB_DEVICE_AND_INTERFACE_INFO(0x106c, 0x3718, USB_CLASS_VENDOR_SPEC, 0xf1, 0xff), | |
| 382 | + USB_VENDOR_AND_INTERFACE_INFO(0x106c, USB_CLASS_VENDOR_SPEC, 0xf1, 0xff), | |
| 379 | 383 | .driver_info = (unsigned long)&qmi_wwan_shared, |
| 380 | 384 | }, |
| 381 | 385 | |
| ... | ... | @@ -383,6 +387,7 @@ |
| 383 | 387 | {QMI_FIXED_INTF(0x19d2, 0x0055, 1)}, /* ZTE (Vodafone) K3520-Z */ |
| 384 | 388 | {QMI_FIXED_INTF(0x19d2, 0x0063, 4)}, /* ZTE (Vodafone) K3565-Z */ |
| 385 | 389 | {QMI_FIXED_INTF(0x19d2, 0x0104, 4)}, /* ZTE (Vodafone) K4505-Z */ |
| 390 | + {QMI_FIXED_INTF(0x19d2, 0x0157, 5)}, /* ZTE MF683 */ | |
| 386 | 391 | {QMI_FIXED_INTF(0x19d2, 0x0167, 4)}, /* ZTE MF820D */ |
| 387 | 392 | {QMI_FIXED_INTF(0x19d2, 0x0326, 4)}, /* ZTE MF821D */ |
| 388 | 393 | {QMI_FIXED_INTF(0x19d2, 0x1008, 4)}, /* ZTE (Vodafone) K3570-Z */ |