]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 31 Dec 2013 05:44:21 +0000 (21:44 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 31 Dec 2013 05:44:21 +0000 (21:44 -0800)
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

queue-3.10/can-peak_usb-fix-mem-leak-in-pcan_usb_pro_init.patch [new file with mode: 0644]
queue-3.10/iio-adc-ad7887-fix-channel-reported-endianness-from-cpu-to-big-endian.patch [new file with mode: 0644]
queue-3.10/iio-imu-adis16400-fix-pressure-channel-scan-type.patch [new file with mode: 0644]
queue-3.10/serial-8250_dw-add-new-acpi-ids.patch [new file with mode: 0644]
queue-3.10/series
queue-3.10/usb-cdc-wdm-manage_power-should-always-set-needs_remote_wakeup.patch [new file with mode: 0644]
queue-3.10/usb-serial-zte_ev-move-support-for-zte-ac2726-from-zte_ev-back-to-option.patch [new file with mode: 0644]

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 (file)
index 0000000..5352993
--- /dev/null
@@ -0,0 +1,39 @@
+From 20fb4eb96fb0350d28fc4d7cbfd5506711079592 Mon Sep 17 00:00:00 2001
+From: Marc Kleine-Budde <mkl@pengutronix.de>
+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 <mkl@pengutronix.de>
+
+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 <s.grosjean@peak-system.com>
+Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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 (file)
index 0000000..bd478d1
--- /dev/null
@@ -0,0 +1,53 @@
+From e39d99059ad7f75d7ae2d3c59055d3c476cdb0d9 Mon Sep 17 00:00:00 2001
+From: Jonathan Cameron <jic23@kernel.org>
+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 <jic23@kernel.org>
+
+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 <jic23@kernel.org>
+Acked-by: Lars-Peter Clausen <lars@metafoo.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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 (file)
index 0000000..680251c
--- /dev/null
@@ -0,0 +1,39 @@
+From 3425c0f7ac61f2fcfb7f2728e9b7ba7e27aec429 Mon Sep 17 00:00:00 2001
+From: Jonathan Cameron <jic23@kernel.org>
+Date: Wed, 11 Dec 2013 18:45:00 +0000
+Subject: iio:imu:adis16400 fix pressure channel scan type
+
+From: Jonathan Cameron <jic23@kernel.org>
+
+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 <jic23@kernel.org>
+Acked-by: Lars-Peter Clausen <lars@metafoo.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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 (file)
index 0000000..680f365
--- /dev/null
@@ -0,0 +1,30 @@
+From d24c195f90cb1adb178d26d84c722d4b9e551e05 Mon Sep 17 00:00:00 2001
+From: Mika Westerberg <mika.westerberg@linux.intel.com>
+Date: Tue, 10 Dec 2013 12:56:59 +0200
+Subject: serial: 8250_dw: add new ACPI IDs
+
+From: Mika Westerberg <mika.westerberg@linux.intel.com>
+
+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 <mika.westerberg@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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 },
+       { },
+ };
index 6bc68bac749da7c61f462f85995076e4e5d55723..3478a4224007ef7a93b77427224f0faf2771e48d 100644 (file)
@@ -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 (file)
index 0000000..22c492d
--- /dev/null
@@ -0,0 +1,37 @@
+From 4144bc861ed7934d56f16d2acd808d44af0fcc90 Mon Sep 17 00:00:00 2001
+From: Bjørn Mork <bjorn@mork.no>
+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 <bjorn@mork.no>
+
+commit 4144bc861ed7934d56f16d2acd808d44af0fcc90 upstream.
+
+Reported-by: Oliver Neukum <oneukum@suse.de>
+Signed-off-by: Bjørn Mork <bjorn@mork.no>
+Acked-by: Oliver Neukum <oneukum@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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 (file)
index 0000000..d4c36cc
--- /dev/null
@@ -0,0 +1,51 @@
+From 52d0dc7597c89b2ab779f3dcb9b9bf0800dd9218 Mon Sep 17 00:00:00 2001
+From: Dmitry Kunilov <dmitry.kunilov@gmail.com>
+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 <dmitry.kunilov@gmail.com>
+
+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 <dmitry.kunilov@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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) },