| From 71a0483d56e784b1e11f38f10d7e22d265dbe244 Mon Sep 17 00:00:00 2001 |
| From: Kristian Evensen <kristian.evensen@gmail.com> |
| Date: Thu, 1 Feb 2018 10:32:32 +0100 |
| Subject: USB: serial: option: Add support for Quectel EP06 |
| |
| From: Kristian Evensen <kristian.evensen@gmail.com> |
| |
| commit 71a0483d56e784b1e11f38f10d7e22d265dbe244 upstream. |
| |
| The Quectel EP06 is a Cat. 6 LTE modem, and the interface mapping is as |
| follows: |
| |
| 0: Diag |
| 1: NMEA |
| 2: AT |
| 3: Modem |
| |
| Interface 4 is QMI and interface 5 is ADB, so they are blacklisted. |
| |
| This patch should also be considered for -stable. The QMI-patch for this |
| modem is already in the -stable-queue. |
| |
| v1->v2: |
| * Updated commit prefix (thanks Johan Hovold) |
| * Updated commit message slightly. |
| |
| Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com> |
| Acked-by: Johan Hovold <johan@kernel.org> |
| Cc: BjΓΈrn Mork <bjorn@mork.no> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/usb/serial/option.c | 7 +++++++ |
| 1 file changed, 7 insertions(+) |
| |
| --- a/drivers/usb/serial/option.c |
| +++ b/drivers/usb/serial/option.c |
| @@ -244,6 +244,7 @@ static void option_instat_callback(struc |
| #define QUECTEL_PRODUCT_EC21 0x0121 |
| #define QUECTEL_PRODUCT_EC25 0x0125 |
| #define QUECTEL_PRODUCT_BG96 0x0296 |
| +#define QUECTEL_PRODUCT_EP06 0x0306 |
| |
| #define CMOTECH_VENDOR_ID 0x16d8 |
| #define CMOTECH_PRODUCT_6001 0x6001 |
| @@ -692,6 +693,10 @@ static const struct option_blacklist_inf |
| .reserved = BIT(1) | BIT(4), |
| }; |
| |
| +static const struct option_blacklist_info quectel_ep06_blacklist = { |
| + .reserved = BIT(4) | BIT(5), |
| +}; |
| + |
| static const struct usb_device_id option_ids[] = { |
| { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) }, |
| { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) }, |
| @@ -1206,6 +1211,8 @@ static const struct usb_device_id option |
| .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, |
| { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96), |
| .driver_info = (kernel_ulong_t)&net_intf4_blacklist }, |
| + { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EP06), |
| + .driver_info = (kernel_ulong_t)&quectel_ep06_blacklist }, |
| { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6001) }, |
| { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CMU_300) }, |
| { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6003), |