Re: [PATCH] USB: serial: option: add HP lt4132

From: Johan Hovold
Date: Mon Dec 10 2018 - 04:06:47 EST


On Sat, Dec 08, 2018 at 07:05:12PM +0100, Tore Anderson wrote:
> The HP lt4132 is a rebranded Huawei ME906s-158 LTE modem.
>
> The interface with protocol 0x16 is "CDC ECM & NCM" according to the *.inf
> files included with the Windows driver. Attaching the option driver to it
> doesn't result in a /dev/ttyUSB* device being created, so I've excluded it.
> Note that it is also excluded for corresponding Huawei-branded devices, cf.
> commit d544db293a44a.

> Signed-off-by: Tore Anderson <tore@xxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> ---
> drivers/usb/serial/option.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
> index e24ff16d4147..1a6fa4726def 100644
> --- a/drivers/usb/serial/option.c
> +++ b/drivers/usb/serial/option.c
> @@ -552,6 +552,10 @@ static void option_instat_callback(struct urb *urb);
> #define WETELECOM_PRODUCT_6802 0x6802
> #define WETELECOM_PRODUCT_WMD300 0x6803
>
> +/* HP products */
> +#define HP_VENDOR_ID 0x03f0
> +#define HP_PRODUCT_LT4132 0xa31d /* Huawei ME906s-158 */
> +
>
> /* Device flags */
>
> @@ -1941,6 +1945,11 @@ static const struct usb_device_id option_ids[] = {
> { USB_DEVICE_AND_INTERFACE_INFO(WETELECOM_VENDOR_ID, WETELECOM_PRODUCT_6802, 0xff, 0xff, 0xff) },
> { USB_DEVICE_AND_INTERFACE_INFO(WETELECOM_VENDOR_ID, WETELECOM_PRODUCT_WMD300, 0xff, 0xff, 0xff) },
> { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x421d, 0xff, 0xff, 0xff) }, /* HP lt2523 (Novatel E371) */
> + { USB_DEVICE_AND_INTERFACE_INFO(HP_VENDOR_ID, HP_PRODUCT_LT4132, 0xff, 0x06, 0x10) },
> + { USB_DEVICE_AND_INTERFACE_INFO(HP_VENDOR_ID, HP_PRODUCT_LT4132, 0xff, 0x06, 0x12) },
> + { USB_DEVICE_AND_INTERFACE_INFO(HP_VENDOR_ID, HP_PRODUCT_LT4132, 0xff, 0x06, 0x13) },
> + { USB_DEVICE_AND_INTERFACE_INFO(HP_VENDOR_ID, HP_PRODUCT_LT4132, 0xff, 0x06, 0x14) },
> + { USB_DEVICE_AND_INTERFACE_INFO(HP_VENDOR_ID, HP_PRODUCT_LT4132, 0xff, 0x06, 0x1b) },

I replaced the defines with numerical constants as we're trying to move
away from using the former (and also for consistency with the current HP
entry just above):

- { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x421d, 0xff, 0xff, 0xff) }, /* HP lt2523 (Novatel E371) */
+ { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x421d, 0xff, 0xff, 0xff) }, /* HP lt2523 (Novatel E371) */
+ { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x10) }, /* HP lt4132 (Huawei ME906s-158) */
+ { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x12) },
+ { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x13) },
+ { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x14) },
+ { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0xa31d, 0xff, 0x06, 0x1b) },

Now applied.

Thanks,
Johan