]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Aug 2016 12:53:07 +0000 (14:53 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Aug 2016 12:53:07 +0000 (14:53 +0200)
added patches:
usb-renesas_usbhs-protect-the-cfifosel-setting-in-usbhsg_ep_enable.patch
usb-serial-option-add-support-for-telit-le910-pid-0x1206.patch

queue-3.14/series
queue-3.14/usb-renesas_usbhs-protect-the-cfifosel-setting-in-usbhsg_ep_enable.patch [new file with mode: 0644]
queue-3.14/usb-serial-option-add-support-for-telit-le910-pid-0x1206.patch [new file with mode: 0644]
queue-4.4/series [new file with mode: 0644]
queue-4.7/series [new file with mode: 0644]

index e8b07d1bbaa9f96ca24943ec4aeaff5c1e65fbf6..abbd0f41384dd4e11b4effac954fee04155ef7d2 100644 (file)
@@ -1 +1,3 @@
 tcp_acks_speedup.patch
+usb-renesas_usbhs-protect-the-cfifosel-setting-in-usbhsg_ep_enable.patch
+usb-serial-option-add-support-for-telit-le910-pid-0x1206.patch
diff --git a/queue-3.14/usb-renesas_usbhs-protect-the-cfifosel-setting-in-usbhsg_ep_enable.patch b/queue-3.14/usb-renesas_usbhs-protect-the-cfifosel-setting-in-usbhsg_ep_enable.patch
new file mode 100644 (file)
index 0000000..d2f9e42
--- /dev/null
@@ -0,0 +1,69 @@
+From 15e4292a2d21e9997fdb2b8c014cc461b3f268f0 Mon Sep 17 00:00:00 2001
+From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
+Date: Wed, 8 Jun 2016 16:32:50 +0900
+Subject: usb: renesas_usbhs: protect the CFIFOSEL setting in usbhsg_ep_enable()
+
+From: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
+
+commit 15e4292a2d21e9997fdb2b8c014cc461b3f268f0 upstream.
+
+This patch fixes an issue that the CFIFOSEL register value is possible
+to be changed by usbhsg_ep_enable() wrongly. And then, a data transfer
+using CFIFO may not work correctly.
+
+For example:
+ # modprobe g_multi file=usb-storage.bin
+ # ifconfig usb0 192.168.1.1 up
+ (During the USB host is sending file to the mass storage)
+ # ifconfig usb0 down
+
+In this case, since the u_ether.c may call usb_ep_enable() in
+eth_stop(), if the renesas_usbhs driver is also using CFIFO for
+mass storage, the mass storage may not work correctly.
+
+So, this patch adds usbhs_lock() and usbhs_unlock() calling in
+usbhsg_ep_enable() to protect CFIFOSEL register. This is because:
+ - CFIFOSEL.CURPIPE = 0 is also needed for the pipe configuration
+ - The CFIFOSEL (fifo->sel) is already protected by usbhs_lock()
+
+Fixes: 97664a207bc2 ("usb: renesas_usbhs: shrink spin lock area")
+Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
+Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/renesas_usbhs/mod_gadget.c |    9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+--- a/drivers/usb/renesas_usbhs/mod_gadget.c
++++ b/drivers/usb/renesas_usbhs/mod_gadget.c
+@@ -558,6 +558,9 @@ static int usbhsg_ep_enable(struct usb_e
+       struct usbhs_priv *priv = usbhsg_gpriv_to_priv(gpriv);
+       struct usbhs_pipe *pipe;
+       int ret = -EIO;
++      unsigned long flags;
++
++      usbhs_lock(priv, flags);
+       /*
+        * if it already have pipe,
+@@ -566,7 +569,8 @@ static int usbhsg_ep_enable(struct usb_e
+       if (uep->pipe) {
+               usbhs_pipe_clear(uep->pipe);
+               usbhs_pipe_sequence_data0(uep->pipe);
+-              return 0;
++              ret = 0;
++              goto usbhsg_ep_enable_end;
+       }
+       pipe = usbhs_pipe_malloc(priv,
+@@ -594,6 +598,9 @@ static int usbhsg_ep_enable(struct usb_e
+               ret = 0;
+       }
++usbhsg_ep_enable_end:
++      usbhs_unlock(priv, flags);
++
+       return ret;
+ }
diff --git a/queue-3.14/usb-serial-option-add-support-for-telit-le910-pid-0x1206.patch b/queue-3.14/usb-serial-option-add-support-for-telit-le910-pid-0x1206.patch
new file mode 100644 (file)
index 0000000..48b2c46
--- /dev/null
@@ -0,0 +1,41 @@
+From 3c0415fa08548e3bc63ef741762664497ab187ed Mon Sep 17 00:00:00 2001
+From: Daniele Palmas <dnlplm@gmail.com>
+Date: Mon, 6 Jun 2016 12:38:17 +0200
+Subject: USB: serial: option: add support for Telit LE910 PID 0x1206
+
+From: Daniele Palmas <dnlplm@gmail.com>
+
+commit 3c0415fa08548e3bc63ef741762664497ab187ed upstream.
+
+This patch adds support for 0x1206 PID of Telit LE910.
+
+Since the interfaces positions are the same than the ones for
+0x1043 PID of Telit LE922, telit_le922_blacklist_usbcfg3 is used.
+
+Signed-off-by: Daniele Palmas <dnlplm@gmail.com>
+Signed-off-by: Johan Hovold <johan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/serial/option.c |    3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/drivers/usb/serial/option.c
++++ b/drivers/usb/serial/option.c
+@@ -274,6 +274,7 @@ static void option_instat_callback(struc
+ #define TELIT_PRODUCT_LE922_USBCFG5           0x1045
+ #define TELIT_PRODUCT_LE920                   0x1200
+ #define TELIT_PRODUCT_LE910                   0x1201
++#define TELIT_PRODUCT_LE910_USBCFG4           0x1206
+ /* ZTE PRODUCTS */
+ #define ZTE_VENDOR_ID                         0x19d2
+@@ -1206,6 +1207,8 @@ static const struct usb_device_id option
+               .driver_info = (kernel_ulong_t)&telit_le922_blacklist_usbcfg0 },
+       { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE910),
+               .driver_info = (kernel_ulong_t)&telit_le910_blacklist },
++      { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE910_USBCFG4),
++              .driver_info = (kernel_ulong_t)&telit_le922_blacklist_usbcfg3 },
+       { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_LE920),
+               .driver_info = (kernel_ulong_t)&telit_le920_blacklist },
+       { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, ZTE_PRODUCT_MF622, 0xff, 0xff, 0xff) }, /* ZTE WCDMA products */
diff --git a/queue-4.4/series b/queue-4.4/series
new file mode 100644 (file)
index 0000000..5b3865d
--- /dev/null
@@ -0,0 +1,10 @@
+usb-gadget-avoid-exposing-kernel-stack.patch
+usb-f_fs-off-by-one-bug-in-_ffs_func_bind.patch
+usb-renesas_usbhs-protect-the-cfifosel-setting-in-usbhsg_ep_enable.patch
+usb-quirks-add-no-lpm-quirk-for-elan.patch
+usb-dwc3-fix-for-the-isoc-transfer-ep_busy-flag.patch
+usb-serial-option-add-support-for-telit-le910-pid-0x1206.patch
+usb-renesas_usbhs-fix-null-pointer-dereference-in-xfer_work.patch
+usb-usbfs-fix-potential-infoleak-in-devio.patch
+arm64-kernel-save-and-restore-uao-and-addr_limit-on-exception-entry.patch
+arm64-debug-unmask-pstate.d-earlier.patch
diff --git a/queue-4.7/series b/queue-4.7/series
new file mode 100644 (file)
index 0000000..29d8de0
--- /dev/null
@@ -0,0 +1,13 @@
+usb-dwc3-gadget-only-resume-usb2-phy-in-highspeed.patch
+usb-gadget-udc-atmel-also-get-regmap-for-at91sam9x5-pmc.patch
+usb-gadget-pch_udc-reorder-spin_lock-to-avoid-deadlock.patch
+usb-renesas_usbhs-protect-the-cfifosel-setting-in-usbhsg_ep_enable.patch
+usb-quirks-add-no-lpm-quirk-for-elan.patch
+usb-dwc3-fix-for-the-isoc-transfer-ep_busy-flag.patch
+usb-serial-option-add-support-for-telit-le910-pid-0x1206.patch
+usb-renesas_usbhs-fix-null-pointer-dereference-in-xfer_work.patch
+arm64-kvm-vhe-context-switch-mdscr_el1.patch
+arm64-debug-unmask-pstate.d-earlier.patch
+arm64-fix-incorrect-per-cpu-usage-for-boot-cpu.patch
+arm64-only-select-arm64_module_plts-if-modules-y.patch
+arm64-honor-nosmp-kernel-command-line-option.patch