]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/3.18.132/usb-serial-option-add-hp-lt4132.patch
5.1-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 3.18.132 / usb-serial-option-add-hp-lt4132.patch
CommitLineData
427c87c4
GKH
1From d57ec3c83b5153217a70b561d4fb6ed96f2f7a25 Mon Sep 17 00:00:00 2001
2From: Tore Anderson <tore@fud.no>
3Date: Sat, 8 Dec 2018 19:05:12 +0100
4Subject: USB: serial: option: add HP lt4132
5
6From: Tore Anderson <tore@fud.no>
7
8commit d57ec3c83b5153217a70b561d4fb6ed96f2f7a25 upstream.
9
10The HP lt4132 is a rebranded Huawei ME906s-158 LTE modem.
11
12The interface with protocol 0x16 is "CDC ECM & NCM" according to the *.inf
13files included with the Windows driver. Attaching the option driver to it
14doesn't result in a /dev/ttyUSB* device being created, so I've excluded it.
15Note that it is also excluded for corresponding Huawei-branded devices, cf.
16commit d544db293a44 ("USB: support new huawei devices in option.c").
17
18T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=02 Dev#= 3 Spd=480 MxCh= 0
19D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=ff MxPS=64 #Cfgs= 3
20P: Vendor=03f0 ProdID=a31d Rev=01.02
21S: Manufacturer=HP Inc.
22S: Product=HP lt4132 LTE/HSPA+ 4G Module
23S: SerialNumber=0123456789ABCDEF
24C: #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=2mA
25I: If#=0x0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=06 Prot=10 Driver=option
26I: If#=0x1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=06 Prot=13 Driver=option
27I: If#=0x2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=06 Prot=12 Driver=option
28I: If#=0x3 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=06 Prot=16 Driver=(none)
29I: If#=0x4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=06 Prot=14 Driver=option
30I: If#=0x5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=06 Prot=1b Driver=option
31
32T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=02 Dev#= 3 Spd=480 MxCh= 0
33D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=ff MxPS=64 #Cfgs= 3
34P: Vendor=03f0 ProdID=a31d Rev=01.02
35S: Manufacturer=HP Inc.
36S: Product=HP lt4132 LTE/HSPA+ 4G Module
37S: SerialNumber=0123456789ABCDEF
38C: #Ifs= 7 Cfg#= 2 Atr=a0 MxPwr=2mA
39I: If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=06 Prot=00 Driver=cdc_ether
40I: If#=0x1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=06 Prot=00 Driver=cdc_ether
41I: If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=06 Prot=10 Driver=option
42I: If#=0x3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=06 Prot=13 Driver=option
43I: If#=0x4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=06 Prot=12 Driver=option
44I: If#=0x5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=06 Prot=14 Driver=option
45I: If#=0x6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=06 Prot=1b Driver=option
46
47T: Bus=01 Lev=01 Prnt=01 Port=02 Cnt=02 Dev#= 3 Spd=480 MxCh= 0
48D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=ff MxPS=64 #Cfgs= 3
49P: Vendor=03f0 ProdID=a31d Rev=01.02
50S: Manufacturer=HP Inc.
51S: Product=HP lt4132 LTE/HSPA+ 4G Module
52S: SerialNumber=0123456789ABCDEF
53C: #Ifs= 3 Cfg#= 3 Atr=a0 MxPwr=2mA
54I: If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
55I: If#=0x1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
56I: If#=0x2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=06 Prot=14 Driver=option
57
58Signed-off-by: Tore Anderson <tore@fud.no>
59Cc: stable@vger.kernel.org
60[ johan: drop id defines ]
61Signed-off-by: Johan Hovold <johan@kernel.org>
62Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
63
64---
65 drivers/usb/serial/option.c | 7 ++++++-
66 1 file changed, 6 insertions(+), 1 deletion(-)
67
68--- a/drivers/usb/serial/option.c
69+++ b/drivers/usb/serial/option.c
70@@ -2042,7 +2042,12 @@ static const struct usb_device_id option
71 { USB_DEVICE_AND_INTERFACE_INFO(WETELECOM_VENDOR_ID, WETELECOM_PRODUCT_WMD200, 0xff, 0xff, 0xff) },
72 { USB_DEVICE_AND_INTERFACE_INFO(WETELECOM_VENDOR_ID, WETELECOM_PRODUCT_6802, 0xff, 0xff, 0xff) },
73 { USB_DEVICE_AND_INTERFACE_INFO(WETELECOM_VENDOR_ID, WETELECOM_PRODUCT_WMD300, 0xff, 0xff, 0xff) },
74- { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x421d, 0xff, 0xff, 0xff) }, /* HP lt2523 (Novatel E371) */
75+ { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x421d, 0xff, 0xff, 0xff) }, /* HP lt2523 (Novatel E371) */
76+ { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x10) }, /* HP lt4132 (Huawei ME906s-158) */
77+ { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x12) },
78+ { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x13) },
79+ { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x14) },
80+ { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x1b) },
81 { } /* Terminating entry */
82 };
83 MODULE_DEVICE_TABLE(usb, option_ids);