| From 7122819ed5bb032269ed7a8caac2531603f385b6 Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?Bj=C3=B8rn=20Mork?= <bjorn@mork.no> |
| Date: Sat, 8 Feb 2020 15:50:36 +0100 |
| Subject: [PATCH] qmi_wwan: re-add DW5821e pre-production variant |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| commit 88bf54603f6f2c137dfee1abf6436ceac3528d2d upstream. |
| |
| Commit f25e1392fdb5 removed the support for the pre-production variant |
| of the Dell DW5821e to avoid probing another USB interface unnecessarily. |
| However, the pre-production samples are found in the wild, and this lack |
| of support is causing problems for users of such samples. It is therefore |
| necessary to support both variants. |
| |
| Matching on both interfaces 0 and 1 is not expected to cause any problem |
| with either variant, as only the QMI function will be probed successfully |
| on either. Interface 1 will be rejected based on the HID class for the |
| production variant: |
| |
| T: Bus=01 Lev=03 Prnt=04 Port=00 Cnt=01 Dev#= 16 Spd=480 MxCh= 0 |
| D: Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 2 |
| P: Vendor=413c ProdID=81d7 Rev=03.18 |
| S: Manufacturer=DELL |
| S: Product=DW5821e Snapdragon X20 LTE |
| S: SerialNumber=0123456789ABCDEF |
| C: #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=500mA |
| I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan |
| I: If#= 1 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid |
| I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option |
| I: If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option |
| I: If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option |
| I: If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option |
| |
| And interface 0 will be rejected based on too few endpoints for the |
| pre-production variant: |
| |
| T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=03 Dev#= 7 Spd=480 MxCh= 0 |
| D: Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 2 |
| P: Vendor=413c ProdID=81d7 Rev= 3.18 |
| S: Manufacturer=DELL |
| S: Product=DW5821e Snapdragon X20 LTE |
| S: SerialNumber=0123456789ABCDEF |
| C: #Ifs= 5 Cfg#= 1 Atr=a0 MxPwr=500mA |
| I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver= |
| I: If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan |
| I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option |
| I: If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option |
| I: If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option |
| |
| Fixes: f25e1392fdb5 ("qmi_wwan: fix interface number for DW5821e production firmware") |
| Link: https://whrl.pl/Rf0vNk |
| Reported-by: Lars Melin <larsm17@gmail.com> |
| Cc: Aleksander Morgado <aleksander@aleksander.es> |
| Signed-off-by: BjΓΈrn Mork <bjorn@mork.no> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c |
| index a4b3435aeb08..681d95d73588 100644 |
| --- a/drivers/net/usb/qmi_wwan.c |
| +++ b/drivers/net/usb/qmi_wwan.c |
| @@ -1361,6 +1361,7 @@ static const struct usb_device_id products[] = { |
| {QMI_FIXED_INTF(0x413c, 0x81b6, 8)}, /* Dell Wireless 5811e */ |
| {QMI_FIXED_INTF(0x413c, 0x81b6, 10)}, /* Dell Wireless 5811e */ |
| {QMI_FIXED_INTF(0x413c, 0x81d7, 0)}, /* Dell Wireless 5821e */ |
| + {QMI_FIXED_INTF(0x413c, 0x81d7, 1)}, /* Dell Wireless 5821e preproduction config */ |
| {QMI_FIXED_INTF(0x413c, 0x81e0, 0)}, /* Dell Wireless 5821e with eSIM support*/ |
| {QMI_FIXED_INTF(0x03f0, 0x4e1d, 8)}, /* HP lt4111 LTE/EV-DO/HSPA+ Gobi 4G Module */ |
| {QMI_FIXED_INTF(0x03f0, 0x9d1d, 1)}, /* HP lt4120 Snapdragon X5 LTE */ |
| -- |
| 2.7.4 |
| |