]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 23 Jul 2014 00:04:14 +0000 (17:04 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 23 Jul 2014 00:04:14 +0000 (17:04 -0700)
added patches:
media-gspca_pac7302-add-new-usb-id-for-genius-i-look-317.patch
usb-check-if-port-status-is-equal-to-rxdetect.patch

queue-3.10/media-gspca_pac7302-add-new-usb-id-for-genius-i-look-317.patch [new file with mode: 0644]
queue-3.10/series [new file with mode: 0644]
queue-3.10/usb-check-if-port-status-is-equal-to-rxdetect.patch [new file with mode: 0644]
queue-3.14/series [new file with mode: 0644]
queue-3.15/series [new file with mode: 0644]

diff --git a/queue-3.10/media-gspca_pac7302-add-new-usb-id-for-genius-i-look-317.patch b/queue-3.10/media-gspca_pac7302-add-new-usb-id-for-genius-i-look-317.patch
new file mode 100644 (file)
index 0000000..a587052
--- /dev/null
@@ -0,0 +1,29 @@
+From 242841d3d71191348f98310e2d2001e1001d8630 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Wed, 9 Jul 2014 06:20:44 -0300
+Subject: media: gspca_pac7302: Add new usb-id for Genius i-Look 317
+
+From: Hans de Goede <hdegoede@redhat.com>
+
+commit 242841d3d71191348f98310e2d2001e1001d8630 upstream.
+
+Tested-and-reported-by: yullaw <yullaw@mageia.cz>
+
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/media/usb/gspca/pac7302.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/media/usb/gspca/pac7302.c
++++ b/drivers/media/usb/gspca/pac7302.c
+@@ -945,6 +945,7 @@ static const struct usb_device_id device
+       {USB_DEVICE(0x093a, 0x2620)},
+       {USB_DEVICE(0x093a, 0x2621)},
+       {USB_DEVICE(0x093a, 0x2622), .driver_info = FL_VFLIP},
++      {USB_DEVICE(0x093a, 0x2623), .driver_info = FL_VFLIP},
+       {USB_DEVICE(0x093a, 0x2624), .driver_info = FL_VFLIP},
+       {USB_DEVICE(0x093a, 0x2625)},
+       {USB_DEVICE(0x093a, 0x2626)},
diff --git a/queue-3.10/series b/queue-3.10/series
new file mode 100644 (file)
index 0000000..66f264e
--- /dev/null
@@ -0,0 +1,2 @@
+usb-check-if-port-status-is-equal-to-rxdetect.patch
+media-gspca_pac7302-add-new-usb-id-for-genius-i-look-317.patch
diff --git a/queue-3.10/usb-check-if-port-status-is-equal-to-rxdetect.patch b/queue-3.10/usb-check-if-port-status-is-equal-to-rxdetect.patch
new file mode 100644 (file)
index 0000000..97abb1d
--- /dev/null
@@ -0,0 +1,58 @@
+From bb86cf569bbd7ad4dce581a37c7fbd748057e9dc Mon Sep 17 00:00:00 2001
+From: Gavin Guo <gavin.guo@canonical.com>
+Date: Fri, 18 Jul 2014 01:12:13 +0800
+Subject: usb: Check if port status is equal to RxDetect
+
+From: Gavin Guo <gavin.guo@canonical.com>
+
+commit bb86cf569bbd7ad4dce581a37c7fbd748057e9dc upstream.
+
+When using USB 3.0 pen drive with the [AMD] FCH USB XHCI Controller
+[1022:7814], the second hotplugging will experience the USB 3.0 pen
+drive is recognized as high-speed device. After bisecting the kernel,
+I found the commit number 41e7e056cdc662f704fa9262e5c6e213b4ab45dd
+(USB: Allow USB 3.0 ports to be disabled.) causes the bug. After doing
+some experiments, the bug can be fixed by avoiding executing the function
+hub_usb3_port_disable(). Because the port status with [AMD] FCH USB
+XHCI Controlleris [1022:7814] is already in RxDetect
+(I tried printing out the port status before setting to Disabled state),
+it's reasonable to check the port status before really executing
+hub_usb3_port_disable().
+
+Fixes: 41e7e056cdc6 (USB: Allow USB 3.0 ports to be disabled.)
+Signed-off-by: Gavin Guo <gavin.guo@canonical.com>
+Acked-by: Alan Stern <stern@rowland.harvard.edu>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/core/hub.c |   19 +++++++++++++++++++
+ 1 file changed, 19 insertions(+)
+
+--- a/drivers/usb/core/hub.c
++++ b/drivers/usb/core/hub.c
+@@ -887,6 +887,25 @@ static int hub_usb3_port_disable(struct
+       if (!hub_is_superspeed(hub->hdev))
+               return -EINVAL;
++      ret = hub_port_status(hub, port1, &portstatus, &portchange);
++      if (ret < 0)
++              return ret;
++
++      /*
++       * USB controller Advanced Micro Devices, Inc. [AMD] FCH USB XHCI
++       * Controller [1022:7814] will have spurious result making the following
++       * usb 3.0 device hotplugging route to the 2.0 root hub and recognized
++       * as high-speed device if we set the usb 3.0 port link state to
++       * Disabled. Since it's already in USB_SS_PORT_LS_RX_DETECT state, we
++       * check the state here to avoid the bug.
++       */
++      if ((portstatus & USB_PORT_STAT_LINK_STATE) ==
++                              USB_SS_PORT_LS_RX_DETECT) {
++              dev_dbg(&hub->ports[port1 - 1]->dev,
++                       "Not disabling port; link state is RxDetect\n");
++              return ret;
++      }
++
+       ret = hub_set_port_link_state(hub, port1, USB_SS_PORT_LS_SS_DISABLED);
+       if (ret)
+               return ret;
diff --git a/queue-3.14/series b/queue-3.14/series
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/queue-3.15/series b/queue-3.15/series
new file mode 100644 (file)
index 0000000..e69de29