From: Greg Kroah-Hartman Date: Tue, 31 Dec 2013 05:44:21 +0000 (-0800) Subject: 3.10-stable patches X-Git-Tag: v3.4.76~67 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aea03e67384a15398ed9698e2e1469bb328049f7;p=thirdparty%2Fkernel%2Fstable-queue.git 3.10-stable patches added patches: can-peak_usb-fix-mem-leak-in-pcan_usb_pro_init.patch iio-adc-ad7887-fix-channel-reported-endianness-from-cpu-to-big-endian.patch iio-imu-adis16400-fix-pressure-channel-scan-type.patch serial-8250_dw-add-new-acpi-ids.patch usb-cdc-wdm-manage_power-should-always-set-needs_remote_wakeup.patch usb-serial-zte_ev-move-support-for-zte-ac2726-from-zte_ev-back-to-option.patch --- diff --git a/queue-3.10/can-peak_usb-fix-mem-leak-in-pcan_usb_pro_init.patch b/queue-3.10/can-peak_usb-fix-mem-leak-in-pcan_usb_pro_init.patch new file mode 100644 index 00000000000..5352993d77f --- /dev/null +++ b/queue-3.10/can-peak_usb-fix-mem-leak-in-pcan_usb_pro_init.patch @@ -0,0 +1,39 @@ +From 20fb4eb96fb0350d28fc4d7cbfd5506711079592 Mon Sep 17 00:00:00 2001 +From: Marc Kleine-Budde +Date: Sat, 14 Dec 2013 14:36:25 +0100 +Subject: can: peak_usb: fix mem leak in pcan_usb_pro_init() + +From: Marc Kleine-Budde + +commit 20fb4eb96fb0350d28fc4d7cbfd5506711079592 upstream. + +This patch fixes a memory leak in pcan_usb_pro_init(). In patch + + f14e224 net: can: peak_usb: Do not do dma on the stack + +the struct pcan_usb_pro_fwinfo *fi and struct pcan_usb_pro_blinfo *bi were +converted from stack to dynamic allocation va kmalloc(). However the +corresponding kfree() was not introduced. + +This patch adds the missing kfree(). + +Reported-by: Stephane Grosjean +Signed-off-by: Marc Kleine-Budde +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/net/can/usb/peak_usb/pcan_usb_pro.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/drivers/net/can/usb/peak_usb/pcan_usb_pro.c ++++ b/drivers/net/can/usb/peak_usb/pcan_usb_pro.c +@@ -927,6 +927,9 @@ static int pcan_usb_pro_init(struct peak + /* set LED in default state (end of init phase) */ + pcan_usb_pro_set_led(dev, 0, 1); + ++ kfree(bi); ++ kfree(fi); ++ + return 0; + + err_out: diff --git a/queue-3.10/iio-adc-ad7887-fix-channel-reported-endianness-from-cpu-to-big-endian.patch b/queue-3.10/iio-adc-ad7887-fix-channel-reported-endianness-from-cpu-to-big-endian.patch new file mode 100644 index 00000000000..bd478d176d4 --- /dev/null +++ b/queue-3.10/iio-adc-ad7887-fix-channel-reported-endianness-from-cpu-to-big-endian.patch @@ -0,0 +1,53 @@ +From e39d99059ad7f75d7ae2d3c59055d3c476cdb0d9 Mon Sep 17 00:00:00 2001 +From: Jonathan Cameron +Date: Wed, 11 Dec 2013 18:45:00 +0000 +Subject: iio:adc:ad7887 Fix channel reported endianness from cpu to big endian + +From: Jonathan Cameron + +commit e39d99059ad7f75d7ae2d3c59055d3c476cdb0d9 upstream. + +Note this also sets the endianness to big endian whereas it would +previously have defaulted to the cpu endian. Hence technically +this is a bug fix on LE platforms. + +Signed-off-by: Jonathan Cameron +Acked-by: Lars-Peter Clausen +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/iio/adc/ad7887.c | 16 ++++++++++++++-- + 1 file changed, 14 insertions(+), 2 deletions(-) + +--- a/drivers/iio/adc/ad7887.c ++++ b/drivers/iio/adc/ad7887.c +@@ -211,7 +211,13 @@ static const struct ad7887_chip_info ad7 + .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SCALE), + .address = 1, + .scan_index = 1, +- .scan_type = IIO_ST('u', 12, 16, 0), ++ .scan_type = { ++ .sign = 'u', ++ .realbits = 12, ++ .storagebits = 16, ++ .shift = 0, ++ .endianness = IIO_BE, ++ }, + }, + .channel[1] = { + .type = IIO_VOLTAGE, +@@ -221,7 +227,13 @@ static const struct ad7887_chip_info ad7 + .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SCALE), + .address = 0, + .scan_index = 0, +- .scan_type = IIO_ST('u', 12, 16, 0), ++ .scan_type = { ++ .sign = 'u', ++ .realbits = 12, ++ .storagebits = 16, ++ .shift = 0, ++ .endianness = IIO_BE, ++ }, + }, + .channel[2] = IIO_CHAN_SOFT_TIMESTAMP(2), + .int_vref_mv = 2500, diff --git a/queue-3.10/iio-imu-adis16400-fix-pressure-channel-scan-type.patch b/queue-3.10/iio-imu-adis16400-fix-pressure-channel-scan-type.patch new file mode 100644 index 00000000000..680251c15cd --- /dev/null +++ b/queue-3.10/iio-imu-adis16400-fix-pressure-channel-scan-type.patch @@ -0,0 +1,39 @@ +From 3425c0f7ac61f2fcfb7f2728e9b7ba7e27aec429 Mon Sep 17 00:00:00 2001 +From: Jonathan Cameron +Date: Wed, 11 Dec 2013 18:45:00 +0000 +Subject: iio:imu:adis16400 fix pressure channel scan type + +From: Jonathan Cameron + +commit 3425c0f7ac61f2fcfb7f2728e9b7ba7e27aec429 upstream. + +A single channel in this driver was using the IIO_ST macro. +This does not provide a parameter for setting the endianness of +the channel. Thus this channel will have been reported as whatever +is the native endianness of the cpu rather than big endian. This +means it would be incorrect on little endian platforms. + +Signed-off-by: Jonathan Cameron +Acked-by: Lars-Peter Clausen +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/iio/imu/adis16400_core.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +--- a/drivers/iio/imu/adis16400_core.c ++++ b/drivers/iio/imu/adis16400_core.c +@@ -651,7 +651,12 @@ static const struct iio_chan_spec adis16 + .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SCALE), + .address = ADIS16448_BARO_OUT, + .scan_index = ADIS16400_SCAN_BARO, +- .scan_type = IIO_ST('s', 16, 16, 0), ++ .scan_type = { ++ .sign = 's', ++ .realbits = 16, ++ .storagebits = 16, ++ .endianness = IIO_BE, ++ }, + }, + ADIS16400_TEMP_CHAN(ADIS16448_TEMP_OUT, 12), + IIO_CHAN_SOFT_TIMESTAMP(11) diff --git a/queue-3.10/serial-8250_dw-add-new-acpi-ids.patch b/queue-3.10/serial-8250_dw-add-new-acpi-ids.patch new file mode 100644 index 00000000000..680f365414d --- /dev/null +++ b/queue-3.10/serial-8250_dw-add-new-acpi-ids.patch @@ -0,0 +1,30 @@ +From d24c195f90cb1adb178d26d84c722d4b9e551e05 Mon Sep 17 00:00:00 2001 +From: Mika Westerberg +Date: Tue, 10 Dec 2013 12:56:59 +0200 +Subject: serial: 8250_dw: add new ACPI IDs + +From: Mika Westerberg + +commit d24c195f90cb1adb178d26d84c722d4b9e551e05 upstream. + +Newer Intel PCHs with LPSS have the same Designware controllers than +Haswell but ACPI IDs are different. Add these IDs to the driver list. + +Signed-off-by: Mika Westerberg +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/tty/serial/8250/8250_dw.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- a/drivers/tty/serial/8250/8250_dw.c ++++ b/drivers/tty/serial/8250/8250_dw.c +@@ -369,6 +369,8 @@ MODULE_DEVICE_TABLE(of, dw8250_of_match) + static const struct acpi_device_id dw8250_acpi_match[] = { + { "INT33C4", 0 }, + { "INT33C5", 0 }, ++ { "INT3434", 0 }, ++ { "INT3435", 0 }, + { "80860F0A", 0 }, + { }, + }; diff --git a/queue-3.10/series b/queue-3.10/series index 6bc68bac749..3478a422400 100644 --- a/queue-3.10/series +++ b/queue-3.10/series @@ -10,3 +10,9 @@ asoc-wm_adsp-add-small-delay-while-polling-dsp-ram-start.patch asoc-wm5110-correct-hpout3-dapm-route-typo.patch alsa-add-sndrv_pcm_state_paused-case-in-wait_for_avail-function.patch alsa-hda-add-enable_msi-0-workaround-for-four-hp-machines.patch +iio-imu-adis16400-fix-pressure-channel-scan-type.patch +iio-adc-ad7887-fix-channel-reported-endianness-from-cpu-to-big-endian.patch +serial-8250_dw-add-new-acpi-ids.patch +usb-serial-zte_ev-move-support-for-zte-ac2726-from-zte_ev-back-to-option.patch +can-peak_usb-fix-mem-leak-in-pcan_usb_pro_init.patch +usb-cdc-wdm-manage_power-should-always-set-needs_remote_wakeup.patch diff --git a/queue-3.10/usb-cdc-wdm-manage_power-should-always-set-needs_remote_wakeup.patch b/queue-3.10/usb-cdc-wdm-manage_power-should-always-set-needs_remote_wakeup.patch new file mode 100644 index 00000000000..22c492dafdc --- /dev/null +++ b/queue-3.10/usb-cdc-wdm-manage_power-should-always-set-needs_remote_wakeup.patch @@ -0,0 +1,37 @@ +From 4144bc861ed7934d56f16d2acd808d44af0fcc90 Mon Sep 17 00:00:00 2001 +From: Bjørn Mork +Date: Fri, 29 Nov 2013 20:17:45 +0100 +Subject: usb: cdc-wdm: manage_power should always set needs_remote_wakeup + +From: Bjørn Mork + +commit 4144bc861ed7934d56f16d2acd808d44af0fcc90 upstream. + +Reported-by: Oliver Neukum +Signed-off-by: Bjørn Mork +Acked-by: Oliver Neukum +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/class/cdc-wdm.c | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +--- a/drivers/usb/class/cdc-wdm.c ++++ b/drivers/usb/class/cdc-wdm.c +@@ -820,13 +820,11 @@ static int wdm_manage_power(struct usb_i + { + /* need autopm_get/put here to ensure the usbcore sees the new value */ + int rv = usb_autopm_get_interface(intf); +- if (rv < 0) +- goto err; + + intf->needs_remote_wakeup = on; +- usb_autopm_put_interface(intf); +-err: +- return rv; ++ if (!rv) ++ usb_autopm_put_interface(intf); ++ return 0; + } + + static int wdm_probe(struct usb_interface *intf, const struct usb_device_id *id) diff --git a/queue-3.10/usb-serial-zte_ev-move-support-for-zte-ac2726-from-zte_ev-back-to-option.patch b/queue-3.10/usb-serial-zte_ev-move-support-for-zte-ac2726-from-zte_ev-back-to-option.patch new file mode 100644 index 00000000000..d4c36cc1b48 --- /dev/null +++ b/queue-3.10/usb-serial-zte_ev-move-support-for-zte-ac2726-from-zte_ev-back-to-option.patch @@ -0,0 +1,51 @@ +From 52d0dc7597c89b2ab779f3dcb9b9bf0800dd9218 Mon Sep 17 00:00:00 2001 +From: Dmitry Kunilov +Date: Tue, 3 Dec 2013 12:11:30 -0800 +Subject: usb: serial: zte_ev: move support for ZTE AC2726 from zte_ev back to option + +From: Dmitry Kunilov + +commit 52d0dc7597c89b2ab779f3dcb9b9bf0800dd9218 upstream. + +ZTE AC2726 EVDO modem drops ppp connection every minute when driven by +zte_ev but works fine when driven by option. Move the support for AC2726 +back to option driver. + +Signed-off-by: Dmitry Kunilov +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/serial/option.c | 2 ++ + drivers/usb/serial/zte_ev.c | 3 +-- + 2 files changed, 3 insertions(+), 2 deletions(-) + +--- a/drivers/usb/serial/option.c ++++ b/drivers/usb/serial/option.c +@@ -251,6 +251,7 @@ static void option_instat_callback(struc + #define ZTE_PRODUCT_MF628 0x0015 + #define ZTE_PRODUCT_MF626 0x0031 + #define ZTE_PRODUCT_MC2718 0xffe8 ++#define ZTE_PRODUCT_AC2726 0xfff1 + + #define BENQ_VENDOR_ID 0x04a5 + #define BENQ_PRODUCT_H10 0x4068 +@@ -1453,6 +1454,7 @@ static const struct usb_device_id option + { 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 +@@ -281,8 +281,7 @@ static const struct usb_device_id id_tab + { USB_DEVICE(0x19d2, 0xfffd) }, + { USB_DEVICE(0x19d2, 0xfffc) }, + { USB_DEVICE(0x19d2, 0xfffb) }, +- /* AC2726, AC8710_V3 */ +- { USB_DEVICE_AND_INTERFACE_INFO(0x19d2, 0xfff1, 0xff, 0xff, 0xff) }, ++ /* AC8710_V3 */ + { USB_DEVICE(0x19d2, 0xfff6) }, + { USB_DEVICE(0x19d2, 0xfff7) }, + { USB_DEVICE(0x19d2, 0xfff8) },