Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 34f972d6 authored by Bjørn Mork's avatar Bjørn Mork Committed by Greg Kroah-Hartman
Browse files

usb: option: add and update a number of CMOTech devices



A number of older CMOTech modems are based on Qualcomm
chips.  The blacklisted interfaces are QMI/wwan.

Reported-by: default avatarLars Melin <larsm17@gmail.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent dd6b48ec
Loading
Loading
Loading
Loading
+70 −4
Original line number Diff line number Diff line
@@ -234,8 +234,31 @@ static void option_instat_callback(struct urb *urb);
#define QUALCOMM_VENDOR_ID			0x05C6

#define CMOTECH_VENDOR_ID			0x16d8
#define CMOTECH_PRODUCT_6008			0x6008
#define CMOTECH_PRODUCT_6280			0x6280
#define CMOTECH_PRODUCT_6001			0x6001
#define CMOTECH_PRODUCT_CMU_300			0x6002
#define CMOTECH_PRODUCT_6003			0x6003
#define CMOTECH_PRODUCT_6004			0x6004
#define CMOTECH_PRODUCT_6005			0x6005
#define CMOTECH_PRODUCT_CGU_628A		0x6006
#define CMOTECH_PRODUCT_CHE_628S		0x6007
#define CMOTECH_PRODUCT_CMU_301			0x6008
#define CMOTECH_PRODUCT_CHU_628			0x6280
#define CMOTECH_PRODUCT_CHU_628S		0x6281
#define CMOTECH_PRODUCT_CDU_680			0x6803
#define CMOTECH_PRODUCT_CDU_685A		0x6804
#define CMOTECH_PRODUCT_CHU_720S		0x7001
#define CMOTECH_PRODUCT_7002			0x7002
#define CMOTECH_PRODUCT_CHU_629K		0x7003
#define CMOTECH_PRODUCT_7004			0x7004
#define CMOTECH_PRODUCT_7005			0x7005
#define CMOTECH_PRODUCT_CGU_629			0x7006
#define CMOTECH_PRODUCT_CHU_629S		0x700a
#define CMOTECH_PRODUCT_CHU_720I		0x7211
#define CMOTECH_PRODUCT_7212			0x7212
#define CMOTECH_PRODUCT_7213			0x7213
#define CMOTECH_PRODUCT_7251			0x7251
#define CMOTECH_PRODUCT_7252			0x7252
#define CMOTECH_PRODUCT_7253			0x7253

#define TELIT_VENDOR_ID				0x1bc7
#define TELIT_PRODUCT_UC864E			0x1003
@@ -504,6 +527,10 @@ static const struct option_blacklist_info huawei_cdc12_blacklist = {
	.reserved = BIT(1) | BIT(2),
};

static const struct option_blacklist_info net_intf0_blacklist = {
	.reserved = BIT(0),
};

static const struct option_blacklist_info net_intf1_blacklist = {
	.reserved = BIT(1),
};
@@ -1037,8 +1064,47 @@ static const struct usb_device_id option_ids[] = {
	{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x6613)}, /* Onda H600/ZTE MF330 */
	{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */
	{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000)}, /* SIMCom SIM5218 */
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6280) }, /* BP3-USB & BP3-EXT HSDPA */
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6008) },
	{ 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),
	  .driver_info = (kernel_ulong_t)&net_intf0_blacklist },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6004) },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6005) },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CGU_628A) },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CHE_628S),
	  .driver_info = (kernel_ulong_t)&net_intf0_blacklist },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CMU_301),
	  .driver_info = (kernel_ulong_t)&net_intf0_blacklist },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CHU_628),
	  .driver_info = (kernel_ulong_t)&net_intf0_blacklist },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CHU_628S) },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CDU_680) },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CDU_685A) },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CHU_720S),
	  .driver_info = (kernel_ulong_t)&net_intf0_blacklist },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_7002),
	  .driver_info = (kernel_ulong_t)&net_intf0_blacklist },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CHU_629K),
	  .driver_info = (kernel_ulong_t)&net_intf4_blacklist },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_7004),
	  .driver_info = (kernel_ulong_t)&net_intf3_blacklist },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_7005) },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CGU_629),
	  .driver_info = (kernel_ulong_t)&net_intf5_blacklist },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CHU_629S),
	  .driver_info = (kernel_ulong_t)&net_intf4_blacklist },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CHU_720I),
	  .driver_info = (kernel_ulong_t)&net_intf0_blacklist },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_7212),
	  .driver_info = (kernel_ulong_t)&net_intf0_blacklist },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_7213),
	  .driver_info = (kernel_ulong_t)&net_intf0_blacklist },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_7251),
	  .driver_info = (kernel_ulong_t)&net_intf1_blacklist },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_7252),
	  .driver_info = (kernel_ulong_t)&net_intf1_blacklist },
	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_7253),
	  .driver_info = (kernel_ulong_t)&net_intf1_blacklist },
	{ USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UC864E) },
	{ USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UC864G) },
	{ USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_CC864_DUAL) },