From 7eb21100371f51508c8c45d6ae6964dbc53a27ef Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 22 Jul 2014 17:04:14 -0700 Subject: [PATCH] 3.10-stable patches 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 --- ...add-new-usb-id-for-genius-i-look-317.patch | 29 ++++++++++ queue-3.10/series | 2 + ...-if-port-status-is-equal-to-rxdetect.patch | 58 +++++++++++++++++++ queue-3.14/series | 0 queue-3.15/series | 0 5 files changed, 89 insertions(+) create mode 100644 queue-3.10/media-gspca_pac7302-add-new-usb-id-for-genius-i-look-317.patch create mode 100644 queue-3.10/series create mode 100644 queue-3.10/usb-check-if-port-status-is-equal-to-rxdetect.patch create mode 100644 queue-3.14/series create mode 100644 queue-3.15/series 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 index 00000000000..a587052be99 --- /dev/null +++ b/queue-3.10/media-gspca_pac7302-add-new-usb-id-for-genius-i-look-317.patch @@ -0,0 +1,29 @@ +From 242841d3d71191348f98310e2d2001e1001d8630 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +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 + +commit 242841d3d71191348f98310e2d2001e1001d8630 upstream. + +Tested-and-reported-by: yullaw + +Signed-off-by: Hans de Goede +Signed-off-by: Mauro Carvalho Chehab +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..66f264eb261 --- /dev/null +++ b/queue-3.10/series @@ -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 index 00000000000..97abb1db581 --- /dev/null +++ b/queue-3.10/usb-check-if-port-status-is-equal-to-rxdetect.patch @@ -0,0 +1,58 @@ +From bb86cf569bbd7ad4dce581a37c7fbd748057e9dc Mon Sep 17 00:00:00 2001 +From: Gavin Guo +Date: Fri, 18 Jul 2014 01:12:13 +0800 +Subject: usb: Check if port status is equal to RxDetect + +From: Gavin Guo + +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 +Acked-by: Alan Stern +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..e69de29bb2d diff --git a/queue-3.15/series b/queue-3.15/series new file mode 100644 index 00000000000..e69de29bb2d -- 2.47.3