From: Greg Kroah-Hartman Date: Thu, 2 Oct 2014 22:13:23 +0000 (-0700) Subject: 3.10-stable patches X-Git-Tag: v3.16.4~66 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0bbc82fb78d0f329a3bd55a475ea78fc97112712;p=thirdparty%2Fkernel%2Fstable-queue.git 3.10-stable patches added patches: revert-usb-option-zte_ev-move-most-zte-cdma-devices-to-zte_ev.patch usb-option-add-via-telecom-cds7-chipset-device-id.patch usb-option-reduce-interrupt-urb-logging-verbosity.patch usb-serial-fix-potential-heap-buffer-overflow.patch usb-serial-fix-potential-stack-buffer-overflow.patch usb-serial-pl2303-add-device-id-for-ztek-device.patch usb-sisusb-add-device-id-for-magic-control-usb-video.patch usb-zte_ev-remove-duplicate-gobi-pid.patch usb-zte_ev-remove-duplicate-qualcom-pid.patch --- diff --git a/queue-3.10/revert-usb-option-zte_ev-move-most-zte-cdma-devices-to-zte_ev.patch b/queue-3.10/revert-usb-option-zte_ev-move-most-zte-cdma-devices-to-zte_ev.patch new file mode 100644 index 00000000000..04c079daeb5 --- /dev/null +++ b/queue-3.10/revert-usb-option-zte_ev-move-most-zte-cdma-devices-to-zte_ev.patch @@ -0,0 +1,140 @@ +From 63a901c06e3c2c45bd601916fe04e870e9ccae1e Mon Sep 17 00:00:00 2001 +From: Johan Hovold +Date: Thu, 7 Aug 2014 16:00:13 +0200 +Subject: Revert "USB: option,zte_ev: move most ZTE CDMA devices to zte_ev" + +From: Johan Hovold + +commit 63a901c06e3c2c45bd601916fe04e870e9ccae1e upstream. + +This reverts commit 73228a0538a7 ("USB: option,zte_ev: move most ZTE +CDMA devices to zte_ev"). + +Move the IDs of the devices that were previously driven by the option +driver back to that driver. + +As several users have reported, the zte_ev driver is causing random +disconnects as well as reconnect failures. + +A closer analysis of the zte_ev setup code reveals that it consists of +standard CDC requests (SET/GET_LINE_CODING and SET_CONTROL_LINE_STATE) +but unfortunately fails to get some of those right. In particular, as +reported by Liu Lei, it fails to lower DTR/RTS on close. It also appears +that the control requests lack the interface argument. + +Note that the zte_ev driver is based on code (once) distributed by ZTE +that still appears to originally have been reverse-engineered and bolted +onto the generic driver. + +Since line control is already handled properly by the option driver, and +the SET/GET_LINE_CODING requests appears to be redundant (amounts to a +SET 9600 8N1), this is a first step in ultimately removing the redundant +zte_ev driver. + +Note that AC2726 had already been moved back to option, and that some +IDs were in the device table of both drivers prior to the commit being +reverted. + +Reported-by: Lei Liu +Signed-off-by: Johan Hovold +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/serial/option.c | 24 +++++++++++++++++++++--- + drivers/usb/serial/zte_ev.c | 18 ------------------ + 2 files changed, 21 insertions(+), 21 deletions(-) + +--- a/drivers/usb/serial/option.c ++++ b/drivers/usb/serial/option.c +@@ -275,8 +275,12 @@ static void option_instat_callback(struc + #define ZTE_PRODUCT_MF622 0x0001 + #define ZTE_PRODUCT_MF628 0x0015 + #define ZTE_PRODUCT_MF626 0x0031 +-#define ZTE_PRODUCT_MC2718 0xffe8 + #define ZTE_PRODUCT_AC2726 0xfff1 ++#define ZTE_PRODUCT_CDMA_TECH 0xfffe ++#define ZTE_PRODUCT_AC8710T 0xffff ++#define ZTE_PRODUCT_MC2718 0xffe8 ++#define ZTE_PRODUCT_AD3812 0xffeb ++#define ZTE_PRODUCT_MC2716 0xffed + + #define BENQ_VENDOR_ID 0x04a5 + #define BENQ_PRODUCT_H10 0x4068 +@@ -531,10 +535,18 @@ static const struct option_blacklist_inf + .reserved = BIT(4), + }; + ++static const struct option_blacklist_info zte_ad3812_z_blacklist = { ++ .sendsetup = BIT(0) | BIT(1) | BIT(2), ++}; ++ + static const struct option_blacklist_info zte_mc2718_z_blacklist = { + .sendsetup = BIT(1) | BIT(2) | BIT(3) | BIT(4), + }; + ++static const struct option_blacklist_info zte_mc2716_z_blacklist = { ++ .sendsetup = BIT(1) | BIT(2) | BIT(3), ++}; ++ + static const struct option_blacklist_info huawei_cdc12_blacklist = { + .reserved = BIT(1) | BIT(2), + }; +@@ -1074,6 +1086,7 @@ static const struct usb_device_id option + { USB_DEVICE_INTERFACE_CLASS(BANDRICH_VENDOR_ID, BANDRICH_PRODUCT_1012, 0xff) }, + { USB_DEVICE(KYOCERA_VENDOR_ID, KYOCERA_PRODUCT_KPC650) }, + { USB_DEVICE(KYOCERA_VENDOR_ID, KYOCERA_PRODUCT_KPC680) }, ++ { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x6000)}, /* ZTE AC8700 */ + { 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 */ +@@ -1548,13 +1561,18 @@ static const struct usb_device_id option + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff93, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff94, 0xff, 0xff, 0xff) }, + +- /* NOTE: most ZTE CDMA devices should be driven by zte_ev, not option */ ++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_CDMA_TECH, 0xff, 0xff, 0xff) }, ++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_AC2726, 0xff, 0xff, 0xff) }, ++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_AC8710T, 0xff, 0xff, 0xff) }, + { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MC2718, 0xff, 0xff, 0xff), + .driver_info = (kernel_ulong_t)&zte_mc2718_z_blacklist }, ++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_AD3812, 0xff, 0xff, 0xff), ++ .driver_info = (kernel_ulong_t)&zte_ad3812_z_blacklist }, ++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MC2716, 0xff, 0xff, 0xff), ++ .driver_info = (kernel_ulong_t)&zte_mc2716_z_blacklist }, + { USB_VENDOR_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff, 0x02, 0x01) }, + { USB_VENDOR_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff, 0x02, 0x05) }, + { USB_VENDOR_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0xff, 0x86, 0x10) }, +- { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_AC2726, 0xff, 0xff, 0xff) }, + + { USB_DEVICE(BENQ_VENDOR_ID, BENQ_PRODUCT_H10) }, + { USB_DEVICE(DLINK_VENDOR_ID, DLINK_PRODUCT_DWM_652) }, +--- a/drivers/usb/serial/zte_ev.c ++++ b/drivers/usb/serial/zte_ev.c +@@ -273,27 +273,9 @@ static void zte_ev_usb_serial_close(stru + } + + static const struct usb_device_id id_table[] = { +- /* AC8710, AC8710T */ +- { USB_DEVICE_AND_INTERFACE_INFO(0x19d2, 0xffff, 0xff, 0xff, 0xff) }, +- /* AC8700 */ +- { USB_DEVICE_AND_INTERFACE_INFO(0x19d2, 0xfffe, 0xff, 0xff, 0xff) }, + /* MG880 */ + { USB_DEVICE(0x19d2, 0xfffd) }, +- { USB_DEVICE(0x19d2, 0xfffc) }, +- { USB_DEVICE(0x19d2, 0xfffb) }, +- /* AC8710_V3 */ +- { USB_DEVICE(0x19d2, 0xfff6) }, +- { USB_DEVICE(0x19d2, 0xfff7) }, +- { USB_DEVICE(0x19d2, 0xfff8) }, +- { USB_DEVICE(0x19d2, 0xfff9) }, +- { USB_DEVICE(0x19d2, 0xffee) }, +- /* AC2716, MC2716 */ +- { USB_DEVICE_AND_INTERFACE_INFO(0x19d2, 0xffed, 0xff, 0xff, 0xff) }, +- /* AD3812 */ +- { USB_DEVICE_AND_INTERFACE_INFO(0x19d2, 0xffeb, 0xff, 0xff, 0xff) }, +- { USB_DEVICE(0x19d2, 0xffec) }, + { USB_DEVICE(0x05C6, 0x3197) }, +- { USB_DEVICE(0x05C6, 0x6000) }, + { USB_DEVICE(0x05C6, 0x9008) }, + { }, + }; diff --git a/queue-3.10/series b/queue-3.10/series index b422b657296..0f7f74f2b34 100644 --- a/queue-3.10/series +++ b/queue-3.10/series @@ -36,3 +36,12 @@ xtensa-fix-address-checks-in-dma_-alloc-free-_coherent.patch xtensa-fix-access-to-thread_ra-thread_sp-thread_ds.patch xtensa-fix-tlbtemp_base_2-region-handling-in-fast_second_level_miss.patch xtensa-fix-a6-and-a7-handling-in-fast_syscall_xtensa.patch +usb-serial-pl2303-add-device-id-for-ztek-device.patch +usb-serial-fix-potential-stack-buffer-overflow.patch +usb-sisusb-add-device-id-for-magic-control-usb-video.patch +usb-serial-fix-potential-heap-buffer-overflow.patch +usb-option-reduce-interrupt-urb-logging-verbosity.patch +usb-option-add-via-telecom-cds7-chipset-device-id.patch +revert-usb-option-zte_ev-move-most-zte-cdma-devices-to-zte_ev.patch +usb-zte_ev-remove-duplicate-gobi-pid.patch +usb-zte_ev-remove-duplicate-qualcom-pid.patch diff --git a/queue-3.10/usb-option-add-via-telecom-cds7-chipset-device-id.patch b/queue-3.10/usb-option-add-via-telecom-cds7-chipset-device-id.patch new file mode 100644 index 00000000000..9932715ffa9 --- /dev/null +++ b/queue-3.10/usb-option-add-via-telecom-cds7-chipset-device-id.patch @@ -0,0 +1,43 @@ +From d77302739d900bbca5e901a3b7ac48c907ee6c93 Mon Sep 17 00:00:00 2001 +From: Brennan Ashton +Date: Wed, 6 Aug 2014 08:46:44 -0700 +Subject: USB: option: add VIA Telecom CDS7 chipset device id + +From: Brennan Ashton + +commit d77302739d900bbca5e901a3b7ac48c907ee6c93 upstream. + +This VIA Telecom baseband processor is used is used by by u-blox in both the +FW2770 and FW2760 products and may be used in others as well. + +This patch has been tested on both of these modem versions. + +Signed-off-by: Brennan Ashton +Signed-off-by: Johan Hovold +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/serial/option.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/drivers/usb/serial/option.c ++++ b/drivers/usb/serial/option.c +@@ -494,6 +494,10 @@ static void option_instat_callback(struc + #define INOVIA_VENDOR_ID 0x20a6 + #define INOVIA_SEW858 0x1105 + ++/* VIA Telecom */ ++#define VIATELECOM_VENDOR_ID 0x15eb ++#define VIATELECOM_PRODUCT_CDS7 0x0001 ++ + /* some devices interfaces need special handling due to a number of reasons */ + enum option_blacklist_reason { + OPTION_BLACKLIST_NONE = 0, +@@ -1724,6 +1728,7 @@ static const struct usb_device_id option + { USB_DEVICE_AND_INTERFACE_INFO(0x07d1, 0x3e01, 0xff, 0xff, 0xff) }, /* D-Link DWM-152/C1 */ + { USB_DEVICE_AND_INTERFACE_INFO(0x07d1, 0x3e02, 0xff, 0xff, 0xff) }, /* D-Link DWM-156/C1 */ + { USB_DEVICE(INOVIA_VENDOR_ID, INOVIA_SEW858) }, ++ { USB_DEVICE(VIATELECOM_VENDOR_ID, VIATELECOM_PRODUCT_CDS7) }, + { } /* Terminating entry */ + }; + MODULE_DEVICE_TABLE(usb, option_ids); diff --git a/queue-3.10/usb-option-reduce-interrupt-urb-logging-verbosity.patch b/queue-3.10/usb-option-reduce-interrupt-urb-logging-verbosity.patch new file mode 100644 index 00000000000..c0576569648 --- /dev/null +++ b/queue-3.10/usb-option-reduce-interrupt-urb-logging-verbosity.patch @@ -0,0 +1,40 @@ +From f0e4cba2534cd88476dff920727c81350130f3c5 Mon Sep 17 00:00:00 2001 +From: Johan Hovold +Date: Tue, 29 Jul 2014 14:14:55 +0200 +Subject: USB: option: reduce interrupt-urb logging verbosity + +From: Johan Hovold + +commit f0e4cba2534cd88476dff920727c81350130f3c5 upstream. + +Do not log normal interrupt-urb shutdowns as errors. + +The option driver has always been logging any nonzero interrupt-urb +status as an error, including when the urb is killed during normal +operation. + +Commit 9096f1fbba91 ("USB: usb_wwan: fix potential NULL-deref at +resume") moved the interrupt urb submission from port probe and release +to open and close, thus potentially increasing the number of these +false-positive error messages dramatically. + +Reported-by: Ed Butler +Tested-by: Ed Butler +Signed-off-by: Johan Hovold +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/serial/option.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/drivers/usb/serial/option.c ++++ b/drivers/usb/serial/option.c +@@ -1917,6 +1917,8 @@ static void option_instat_callback(struc + dev_dbg(dev, "%s: type %x req %x\n", __func__, + req_pkt->bRequestType, req_pkt->bRequest); + } ++ } else if (status == -ENOENT || status == -ESHUTDOWN) { ++ dev_dbg(dev, "%s: urb stopped: %d\n", __func__, status); + } else + dev_err(dev, "%s: error %d\n", __func__, status); + diff --git a/queue-3.10/usb-serial-fix-potential-heap-buffer-overflow.patch b/queue-3.10/usb-serial-fix-potential-heap-buffer-overflow.patch new file mode 100644 index 00000000000..f8f2afd33d8 --- /dev/null +++ b/queue-3.10/usb-serial-fix-potential-heap-buffer-overflow.patch @@ -0,0 +1,38 @@ +From 5654699fb38512bdbfc0f892ce54fce75bdc2bab Mon Sep 17 00:00:00 2001 +From: Johan Hovold +Date: Wed, 27 Aug 2014 11:55:19 +0200 +Subject: USB: serial: fix potential heap buffer overflow + +From: Johan Hovold + +commit 5654699fb38512bdbfc0f892ce54fce75bdc2bab upstream. + +Make sure to verify the number of ports requested by subdriver to avoid +writing beyond the end of fixed-size array in interface data. + +The current usb-serial implementation is limited to eight ports per +interface but failed to verify that the number of ports requested by a +subdriver (which could have been determined from device descriptors) did +not exceed this limit. + +Signed-off-by: Johan Hovold +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/serial/usb-serial.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/drivers/usb/serial/usb-serial.c ++++ b/drivers/usb/serial/usb-serial.c +@@ -876,6 +876,11 @@ static int usb_serial_probe(struct usb_i + num_ports = type->num_ports; + } + ++ if (num_ports > MAX_NUM_PORTS) { ++ dev_warn(ddev, "too many ports requested: %d\n", num_ports); ++ num_ports = MAX_NUM_PORTS; ++ } ++ + serial->num_ports = num_ports; + serial->num_bulk_in = num_bulk_in; + serial->num_bulk_out = num_bulk_out; diff --git a/queue-3.10/usb-serial-fix-potential-stack-buffer-overflow.patch b/queue-3.10/usb-serial-fix-potential-stack-buffer-overflow.patch new file mode 100644 index 00000000000..834e616df3c --- /dev/null +++ b/queue-3.10/usb-serial-fix-potential-stack-buffer-overflow.patch @@ -0,0 +1,86 @@ +From d979e9f9ecab04c1ecca741370e30a8a498893f5 Mon Sep 17 00:00:00 2001 +From: Johan Hovold +Date: Wed, 27 Aug 2014 11:55:18 +0200 +Subject: USB: serial: fix potential stack buffer overflow + +From: Johan Hovold + +commit d979e9f9ecab04c1ecca741370e30a8a498893f5 upstream. + +Make sure to verify the maximum number of endpoints per type to avoid +writing beyond the end of a stack-allocated array. + +The current usb-serial implementation is limited to eight ports per +interface but failed to verify that the number of endpoints of a certain +type reported by a device did not exceed this limit. + +Signed-off-by: Johan Hovold +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/serial/usb-serial.c | 32 ++++++++++++++++++++++---------- + 1 file changed, 22 insertions(+), 10 deletions(-) + +--- a/drivers/usb/serial/usb-serial.c ++++ b/drivers/usb/serial/usb-serial.c +@@ -778,29 +778,39 @@ static int usb_serial_probe(struct usb_i + if (usb_endpoint_is_bulk_in(endpoint)) { + /* we found a bulk in endpoint */ + dev_dbg(ddev, "found bulk in on endpoint %d\n", i); +- bulk_in_endpoint[num_bulk_in] = endpoint; +- ++num_bulk_in; ++ if (num_bulk_in < MAX_NUM_PORTS) { ++ bulk_in_endpoint[num_bulk_in] = endpoint; ++ ++num_bulk_in; ++ } + } + + if (usb_endpoint_is_bulk_out(endpoint)) { + /* we found a bulk out endpoint */ + dev_dbg(ddev, "found bulk out on endpoint %d\n", i); +- bulk_out_endpoint[num_bulk_out] = endpoint; +- ++num_bulk_out; ++ if (num_bulk_out < MAX_NUM_PORTS) { ++ bulk_out_endpoint[num_bulk_out] = endpoint; ++ ++num_bulk_out; ++ } + } + + if (usb_endpoint_is_int_in(endpoint)) { + /* we found a interrupt in endpoint */ + dev_dbg(ddev, "found interrupt in on endpoint %d\n", i); +- interrupt_in_endpoint[num_interrupt_in] = endpoint; +- ++num_interrupt_in; ++ if (num_interrupt_in < MAX_NUM_PORTS) { ++ interrupt_in_endpoint[num_interrupt_in] = ++ endpoint; ++ ++num_interrupt_in; ++ } + } + + if (usb_endpoint_is_int_out(endpoint)) { + /* we found an interrupt out endpoint */ + dev_dbg(ddev, "found interrupt out on endpoint %d\n", i); +- interrupt_out_endpoint[num_interrupt_out] = endpoint; +- ++num_interrupt_out; ++ if (num_interrupt_out < MAX_NUM_PORTS) { ++ interrupt_out_endpoint[num_interrupt_out] = ++ endpoint; ++ ++num_interrupt_out; ++ } + } + } + +@@ -823,8 +833,10 @@ static int usb_serial_probe(struct usb_i + if (usb_endpoint_is_int_in(endpoint)) { + /* we found a interrupt in endpoint */ + dev_dbg(ddev, "found interrupt in for Prolific device on separate interface\n"); +- interrupt_in_endpoint[num_interrupt_in] = endpoint; +- ++num_interrupt_in; ++ if (num_interrupt_in < MAX_NUM_PORTS) { ++ interrupt_in_endpoint[num_interrupt_in] = endpoint; ++ ++num_interrupt_in; ++ } + } + } + } diff --git a/queue-3.10/usb-serial-pl2303-add-device-id-for-ztek-device.patch b/queue-3.10/usb-serial-pl2303-add-device-id-for-ztek-device.patch new file mode 100644 index 00000000000..9eba4484bf9 --- /dev/null +++ b/queue-3.10/usb-serial-pl2303-add-device-id-for-ztek-device.patch @@ -0,0 +1,40 @@ +From 91fcb1ce420e0a5f8d92d556d7008a78bc6ce1eb Mon Sep 17 00:00:00 2001 +From: Greg KH +Date: Fri, 15 Aug 2014 15:22:21 +0800 +Subject: USB: serial: pl2303: add device id for ztek device + +From: Greg KH + +commit 91fcb1ce420e0a5f8d92d556d7008a78bc6ce1eb upstream. + +This adds a new device id to the pl2303 driver for the ZTEK device. + +Reported-by: Mike Chu +Signed-off-by: Greg Kroah-Hartman +Signed-off-by: Johan Hovold + +--- + drivers/usb/serial/pl2303.c | 1 + + drivers/usb/serial/pl2303.h | 1 + + 2 files changed, 2 insertions(+) + +--- a/drivers/usb/serial/pl2303.c ++++ b/drivers/usb/serial/pl2303.c +@@ -47,6 +47,7 @@ static const struct usb_device_id id_tab + { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_GPRS) }, + { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_HCR331) }, + { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_MOTOROLA) }, ++ { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_ZTEK) }, + { USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID) }, + { USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID_RSAQ5) }, + { USB_DEVICE(ATEN_VENDOR_ID, ATEN_PRODUCT_ID) }, +--- a/drivers/usb/serial/pl2303.h ++++ b/drivers/usb/serial/pl2303.h +@@ -22,6 +22,7 @@ + #define PL2303_PRODUCT_ID_GPRS 0x0609 + #define PL2303_PRODUCT_ID_HCR331 0x331a + #define PL2303_PRODUCT_ID_MOTOROLA 0x0307 ++#define PL2303_PRODUCT_ID_ZTEK 0xe1f1 + + #define ATEN_VENDOR_ID 0x0557 + #define ATEN_VENDOR_ID2 0x0547 diff --git a/queue-3.10/usb-sisusb-add-device-id-for-magic-control-usb-video.patch b/queue-3.10/usb-sisusb-add-device-id-for-magic-control-usb-video.patch new file mode 100644 index 00000000000..7aa30969362 --- /dev/null +++ b/queue-3.10/usb-sisusb-add-device-id-for-magic-control-usb-video.patch @@ -0,0 +1,29 @@ +From 5b6b80aeb21091ed3030b9b6aae597d81326f1aa Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Mon, 25 Aug 2014 21:07:47 -0700 +Subject: USB: sisusb: add device id for Magic Control USB video + +From: Stephen Hemminger + +commit 5b6b80aeb21091ed3030b9b6aae597d81326f1aa upstream. + +I have a j5 create (JUA210) USB 2 video device and adding it device id +to SIS USB video gets it to work. + +Signed-off-by: Stephen Hemminger +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/misc/sisusbvga/sisusb.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/usb/misc/sisusbvga/sisusb.c ++++ b/drivers/usb/misc/sisusbvga/sisusb.c +@@ -3248,6 +3248,7 @@ static const struct usb_device_id sisusb + { USB_DEVICE(0x0711, 0x0918) }, + { USB_DEVICE(0x0711, 0x0920) }, + { USB_DEVICE(0x0711, 0x0950) }, ++ { USB_DEVICE(0x0711, 0x5200) }, + { USB_DEVICE(0x182d, 0x021c) }, + { USB_DEVICE(0x182d, 0x0269) }, + { } diff --git a/queue-3.10/usb-zte_ev-remove-duplicate-gobi-pid.patch b/queue-3.10/usb-zte_ev-remove-duplicate-gobi-pid.patch new file mode 100644 index 00000000000..3d03e5b51ac --- /dev/null +++ b/queue-3.10/usb-zte_ev-remove-duplicate-gobi-pid.patch @@ -0,0 +1,31 @@ +From 95be5739588c56a9327e477aa0ba3c81c5cf8631 Mon Sep 17 00:00:00 2001 +From: Johan Hovold +Date: Thu, 7 Aug 2014 16:00:14 +0200 +Subject: USB: zte_ev: remove duplicate Gobi PID + +From: Johan Hovold + +commit 95be5739588c56a9327e477aa0ba3c81c5cf8631 upstream. + +Remove dublicate Gobi PID 0x9008 which is already handled by the +qcserial driver since commit f05932c0caf4 ("USB: qcserial: Add extra +device IDs"). + +Fixes: 799ee9243d89 ("USB: serial: add zte_ev.c driver") +Signed-off-by: Johan Hovold +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/serial/zte_ev.c | 1 - + 1 file changed, 1 deletion(-) + +--- a/drivers/usb/serial/zte_ev.c ++++ b/drivers/usb/serial/zte_ev.c +@@ -276,7 +276,6 @@ static const struct usb_device_id id_tab + /* MG880 */ + { USB_DEVICE(0x19d2, 0xfffd) }, + { USB_DEVICE(0x05C6, 0x3197) }, +- { USB_DEVICE(0x05C6, 0x9008) }, + { }, + }; + MODULE_DEVICE_TABLE(usb, id_table); diff --git a/queue-3.10/usb-zte_ev-remove-duplicate-qualcom-pid.patch b/queue-3.10/usb-zte_ev-remove-duplicate-qualcom-pid.patch new file mode 100644 index 00000000000..43f09e4f503 --- /dev/null +++ b/queue-3.10/usb-zte_ev-remove-duplicate-qualcom-pid.patch @@ -0,0 +1,31 @@ +From 754eb21c0bbbbc4b8830a9a864b286323b84225f Mon Sep 17 00:00:00 2001 +From: Johan Hovold +Date: Thu, 7 Aug 2014 16:00:15 +0200 +Subject: USB: zte_ev: remove duplicate Qualcom PID + +From: Johan Hovold + +commit 754eb21c0bbbbc4b8830a9a864b286323b84225f upstream. + +Remove dublicate Qualcom PID 0x3197 which is already handled by the +moto-modem driver since commit 6986a978eec7 ("USB: add new moto_modem +driver for some Morotola phones"). + +Fixes: 799ee9243d89 ("USB: serial: add zte_ev.c driver") +Signed-off-by: Johan Hovold +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/serial/zte_ev.c | 1 - + 1 file changed, 1 deletion(-) + +--- a/drivers/usb/serial/zte_ev.c ++++ b/drivers/usb/serial/zte_ev.c +@@ -275,7 +275,6 @@ static void zte_ev_usb_serial_close(stru + static const struct usb_device_id id_table[] = { + /* MG880 */ + { USB_DEVICE(0x19d2, 0xfffd) }, +- { USB_DEVICE(0x05C6, 0x3197) }, + { }, + }; + MODULE_DEVICE_TABLE(usb, id_table);