]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 12 Oct 2014 04:08:06 +0000 (21:08 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 12 Oct 2014 04:08:06 +0000 (21:08 -0700)
added patches:
crypto-caam-fix-addressing-of-struct-member.patch
usb-add-device-quirk-for-asus-t100-base-station-keyboard.patch
usb-cp210x-add-support-for-seluxit-usb-dongle.patch
usb-musb-dsps-kill-otg-timer-on-suspend.patch
usb-serial-cp210x-added-ketra-n1-wireless-interface-support.patch

queue-3.14/crypto-caam-fix-addressing-of-struct-member.patch [new file with mode: 0644]
queue-3.14/series
queue-3.14/usb-add-device-quirk-for-asus-t100-base-station-keyboard.patch [new file with mode: 0644]
queue-3.14/usb-cp210x-add-support-for-seluxit-usb-dongle.patch [new file with mode: 0644]
queue-3.14/usb-musb-dsps-kill-otg-timer-on-suspend.patch [new file with mode: 0644]
queue-3.14/usb-serial-cp210x-added-ketra-n1-wireless-interface-support.patch [new file with mode: 0644]

diff --git a/queue-3.14/crypto-caam-fix-addressing-of-struct-member.patch b/queue-3.14/crypto-caam-fix-addressing-of-struct-member.patch
new file mode 100644 (file)
index 0000000..66873b1
--- /dev/null
@@ -0,0 +1,36 @@
+From 4451d494b1910bf7b7f8381a637d0fe6d2142467 Mon Sep 17 00:00:00 2001
+From: Cristian Stoica <cristian.stoica@freescale.com>
+Date: Thu, 14 Aug 2014 13:51:57 +0300
+Subject: crypto: caam - fix addressing of struct member
+
+From: Cristian Stoica <cristian.stoica@freescale.com>
+
+commit 4451d494b1910bf7b7f8381a637d0fe6d2142467 upstream.
+
+buf_0 and buf_1 in caam_hash_state are not next to each other.
+Accessing buf_1 is incorrect from &buf_0 with an offset of only
+size_of(buf_0). The same issue is also with buflen_0 and buflen_1
+
+Signed-off-by: Cristian Stoica <cristian.stoica@freescale.com>
+Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/crypto/caam/caamhash.c |    6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/drivers/crypto/caam/caamhash.c
++++ b/drivers/crypto/caam/caamhash.c
+@@ -1348,9 +1348,9 @@ static int ahash_update_first(struct aha
+       struct device *jrdev = ctx->jrdev;
+       gfp_t flags = (req->base.flags & (CRYPTO_TFM_REQ_MAY_BACKLOG |
+                      CRYPTO_TFM_REQ_MAY_SLEEP)) ? GFP_KERNEL : GFP_ATOMIC;
+-      u8 *next_buf = state->buf_0 + state->current_buf *
+-                     CAAM_MAX_HASH_BLOCK_SIZE;
+-      int *next_buflen = &state->buflen_0 + state->current_buf;
++      u8 *next_buf = state->current_buf ? state->buf_1 : state->buf_0;
++      int *next_buflen = state->current_buf ?
++              &state->buflen_1 : &state->buflen_0;
+       int to_hash;
+       u32 *sh_desc = ctx->sh_desc_update_first, *desc;
+       dma_addr_t ptr = ctx->sh_desc_update_first_dma;
index a3baabd706bab15a610df4f4fa1b9576c11da5de..8132c901840ee3a722822129b5b507eff46be183 100644 (file)
@@ -1,3 +1,8 @@
+usb-serial-cp210x-added-ketra-n1-wireless-interface-support.patch
+usb-cp210x-add-support-for-seluxit-usb-dongle.patch
+usb-musb-dsps-kill-otg-timer-on-suspend.patch
+usb-add-device-quirk-for-asus-t100-base-station-keyboard.patch
+crypto-caam-fix-addressing-of-struct-member.patch
 udf-avoid-infinite-loop-when-processing-indirect-icbs.patch
 perf-fix-perf-bug-in-fork.patch
 mm-migrate-close-race-between-migration-completion-and-mprotect.patch
diff --git a/queue-3.14/usb-add-device-quirk-for-asus-t100-base-station-keyboard.patch b/queue-3.14/usb-add-device-quirk-for-asus-t100-base-station-keyboard.patch
new file mode 100644 (file)
index 0000000..b123588
--- /dev/null
@@ -0,0 +1,68 @@
+From ddbe1fca0bcb87ca8c199ea873a456ca8a948567 Mon Sep 17 00:00:00 2001
+From: Lu Baolu <baolu.lu@linux.intel.com>
+Date: Fri, 19 Sep 2014 10:13:50 +0800
+Subject: USB: Add device quirk for ASUS T100 Base Station keyboard
+
+From: Lu Baolu <baolu.lu@linux.intel.com>
+
+commit ddbe1fca0bcb87ca8c199ea873a456ca8a948567 upstream.
+
+This full-speed USB device generates spurious remote wakeup event
+as soon as USB_DEVICE_REMOTE_WAKEUP feature is set. As the result,
+Linux can't enter system suspend and S0ix power saving modes once
+this keyboard is used.
+
+This patch tries to introduce USB_QUIRK_IGNORE_REMOTE_WAKEUP quirk.
+With this quirk set, wakeup capability will be ignored during
+device configure.
+
+This patch could be back-ported to kernels as old as 2.6.39.
+
+Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
+Acked-by: Alan Stern <stern@rowland.harvard.edu>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/core/hub.c     |    6 ++++--
+ drivers/usb/core/quirks.c  |    4 ++++
+ include/linux/usb/quirks.h |    3 +++
+ 3 files changed, 11 insertions(+), 2 deletions(-)
+
+--- a/drivers/usb/core/hub.c
++++ b/drivers/usb/core/hub.c
+@@ -1948,8 +1948,10 @@ void usb_set_device_state(struct usb_dev
+                                       || new_state == USB_STATE_SUSPENDED)
+                               ;       /* No change to wakeup settings */
+                       else if (new_state == USB_STATE_CONFIGURED)
+-                              wakeup = udev->actconfig->desc.bmAttributes
+-                                       & USB_CONFIG_ATT_WAKEUP;
++                              wakeup = (udev->quirks &
++                                      USB_QUIRK_IGNORE_REMOTE_WAKEUP) ? 0 :
++                                      udev->actconfig->desc.bmAttributes &
++                                      USB_CONFIG_ATT_WAKEUP;
+                       else
+                               wakeup = 0;
+               }
+--- a/drivers/usb/core/quirks.c
++++ b/drivers/usb/core/quirks.c
+@@ -160,6 +160,10 @@ static const struct usb_device_id usb_in
+       { USB_VENDOR_AND_INTERFACE_INFO(0x046d, USB_CLASS_VIDEO, 1, 0),
+         .driver_info = USB_QUIRK_RESET_RESUME },
++      /* ASUS Base Station(T100) */
++      { USB_DEVICE(0x0b05, 0x17e0), .driver_info =
++                      USB_QUIRK_IGNORE_REMOTE_WAKEUP },
++
+       { }  /* terminating entry must be last */
+ };
+--- a/include/linux/usb/quirks.h
++++ b/include/linux/usb/quirks.h
+@@ -30,4 +30,7 @@
+    descriptor */
+ #define USB_QUIRK_DELAY_INIT          0x00000040
++/* device generates spurious wakeup, ignore remote wakeup capability */
++#define USB_QUIRK_IGNORE_REMOTE_WAKEUP        0x00000200
++
+ #endif /* __LINUX_USB_QUIRKS_H */
diff --git a/queue-3.14/usb-cp210x-add-support-for-seluxit-usb-dongle.patch b/queue-3.14/usb-cp210x-add-support-for-seluxit-usb-dongle.patch
new file mode 100644 (file)
index 0000000..a335950
--- /dev/null
@@ -0,0 +1,29 @@
+From dee80ad12d2b1b304286a707fde7ab05d1fc7bab Mon Sep 17 00:00:00 2001
+From: Andreas Bomholtz <andreas@seluxit.com>
+Date: Mon, 22 Sep 2014 09:50:43 +0200
+Subject: USB: cp210x: add support for Seluxit USB dongle
+
+From: Andreas Bomholtz <andreas@seluxit.com>
+
+commit dee80ad12d2b1b304286a707fde7ab05d1fc7bab upstream.
+
+Added the Seluxit ApS USB Serial Dongle to cp210x driver.
+
+Signed-off-by: Andreas Bomholtz <andreas@seluxit.com>
+Signed-off-by: Johan Hovold <johan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/serial/cp210x.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/serial/cp210x.c
++++ b/drivers/usb/serial/cp210x.c
+@@ -156,6 +156,7 @@ static const struct usb_device_id id_tab
+       { USB_DEVICE(0x1ADB, 0x0001) }, /* Schweitzer Engineering C662 Cable */
+       { USB_DEVICE(0x1B1C, 0x1C00) }, /* Corsair USB Dongle */
+       { USB_DEVICE(0x1BE3, 0x07A6) }, /* WAGO 750-923 USB Service Cable */
++      { USB_DEVICE(0x1D6F, 0x0010) }, /* Seluxit ApS RF Dongle */
+       { USB_DEVICE(0x1E29, 0x0102) }, /* Festo CPX-USB */
+       { USB_DEVICE(0x1E29, 0x0501) }, /* Festo CMSP */
+       { USB_DEVICE(0x1FB9, 0x0100) }, /* Lake Shore Model 121 Current Source */
diff --git a/queue-3.14/usb-musb-dsps-kill-otg-timer-on-suspend.patch b/queue-3.14/usb-musb-dsps-kill-otg-timer-on-suspend.patch
new file mode 100644 (file)
index 0000000..9ab15de
--- /dev/null
@@ -0,0 +1,44 @@
+From 468bcc2a2ca071f652009d2d20d97f2437630cae Mon Sep 17 00:00:00 2001
+From: Felipe Balbi <balbi@ti.com>
+Date: Mon, 15 Sep 2014 09:03:24 -0500
+Subject: usb: musb: dsps: kill OTG timer on suspend
+
+From: Felipe Balbi <balbi@ti.com>
+
+commit 468bcc2a2ca071f652009d2d20d97f2437630cae upstream.
+
+if we don't make sure to kill the timer, it could
+expire after we have already gated our clocks.
+
+That will trigger a Data Abort exception because
+we would try to access register while clock is gated.
+
+Fix that bug.
+
+Fixes 869c597 (usb: musb: dsps: add support for suspend and resume)
+Tested-by: Dave Gerlach <d-gerlach@ti.com>
+Signed-off-by: Felipe Balbi <balbi@ti.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/musb/musb_dsps.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/usb/musb/musb_dsps.c
++++ b/drivers/usb/musb/musb_dsps.c
+@@ -707,6 +707,7 @@ static int dsps_suspend(struct device *d
+       struct musb *musb = platform_get_drvdata(glue->musb);
+       void __iomem *mbase = musb->ctrl_base;
++      del_timer_sync(&glue->timer);
+       glue->context.control = dsps_readl(mbase, wrp->control);
+       glue->context.epintr = dsps_readl(mbase, wrp->epintr_set);
+       glue->context.coreintr = dsps_readl(mbase, wrp->coreintr_set);
+@@ -732,6 +733,7 @@ static int dsps_resume(struct device *de
+       dsps_writel(mbase, wrp->mode, glue->context.mode);
+       dsps_writel(mbase, wrp->tx_mode, glue->context.tx_mode);
+       dsps_writel(mbase, wrp->rx_mode, glue->context.rx_mode);
++      setup_timer(&glue->timer, otg_timer, (unsigned long) musb);
+       return 0;
+ }
diff --git a/queue-3.14/usb-serial-cp210x-added-ketra-n1-wireless-interface-support.patch b/queue-3.14/usb-serial-cp210x-added-ketra-n1-wireless-interface-support.patch
new file mode 100644 (file)
index 0000000..b4bf2ce
--- /dev/null
@@ -0,0 +1,30 @@
+From bfc2d7dfdd761ae3beccdb26abebe03cef042f46 Mon Sep 17 00:00:00 2001
+From: Joe Savage <joe.savage@goketra.com>
+Date: Sat, 20 Sep 2014 08:01:16 -0500
+Subject: USB: serial: cp210x: added Ketra N1 wireless interface support
+
+From: Joe Savage <joe.savage@goketra.com>
+
+commit bfc2d7dfdd761ae3beccdb26abebe03cef042f46 upstream.
+
+Added support for Ketra N1 wireless interface, which uses the
+Silicon Labs' CP2104 USB to UART bridge with customized PID 8946.
+
+Signed-off-by: Joe Savage <joe.savage@goketra.com>
+Signed-off-by: Johan Hovold <johan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/serial/cp210x.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/serial/cp210x.c
++++ b/drivers/usb/serial/cp210x.c
+@@ -122,6 +122,7 @@ static const struct usb_device_id id_tab
+       { USB_DEVICE(0x10C4, 0x8665) }, /* AC-Services OBD-IF */
+       { USB_DEVICE(0x10C4, 0x88A4) }, /* MMB Networks ZigBee USB Device */
+       { USB_DEVICE(0x10C4, 0x88A5) }, /* Planet Innovation Ingeni ZigBee USB Device */
++      { USB_DEVICE(0x10C4, 0x8946) }, /* Ketra N1 Wireless Interface */
+       { USB_DEVICE(0x10C4, 0xEA60) }, /* Silicon Labs factory default */
+       { USB_DEVICE(0x10C4, 0xEA61) }, /* Silicon Labs factory default */
+       { USB_DEVICE(0x10C4, 0xEA70) }, /* Silicon Labs factory default */