From: Greg Kroah-Hartman Date: Mon, 10 Nov 2014 04:50:26 +0000 (+0900) Subject: 3.17-stable patches X-Git-Tag: v3.10.60~41 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2a8dc4f5cab0145e6d555b6ed0e47ea2de0988b7;p=thirdparty%2Fkernel%2Fstable-queue.git 3.17-stable patches added patches: usb-core-add-device-qualifier-quirk.patch usb-quirks-enable-device-qualifier-quirk-for-another-elan-touchscreen.patch usb-quirks-enable-device-qualifier-quirk-for-elan-touchscreen.patch usb-quirks-enable-device-qualifier-quirk-for-yet-another-elan-touchscreen.patch --- diff --git a/queue-3.17/series b/queue-3.17/series index 0c6880269ad..14c740d7d8f 100644 --- a/queue-3.17/series +++ b/queue-3.17/series @@ -219,3 +219,7 @@ usb-musb-dsps-start-otg-timer-on-resume-again.patch usb-gadget-f_fs-remove-redundant-ffs_data_get.patch usb-ffs-fix-regression-when-quirk_ep_out_aligned_size-flag-is-set.patch usb-chipidea-fix-oops-when-removing-the-ci_hdrc-module.patch +usb-core-add-device-qualifier-quirk.patch +usb-quirks-enable-device-qualifier-quirk-for-elan-touchscreen.patch +usb-quirks-enable-device-qualifier-quirk-for-another-elan-touchscreen.patch +usb-quirks-enable-device-qualifier-quirk-for-yet-another-elan-touchscreen.patch diff --git a/queue-3.17/usb-core-add-device-qualifier-quirk.patch b/queue-3.17/usb-core-add-device-qualifier-quirk.patch new file mode 100644 index 00000000000..1d4a05431ab --- /dev/null +++ b/queue-3.17/usb-core-add-device-qualifier-quirk.patch @@ -0,0 +1,50 @@ +From 2a159389bf5d962359349a76827b2f683276a1c7 Mon Sep 17 00:00:00 2001 +From: Johan Hovold +Date: Mon, 25 Aug 2014 17:51:26 +0200 +Subject: USB: core: add device-qualifier quirk +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Johan Hovold + +commit 2a159389bf5d962359349a76827b2f683276a1c7 upstream. + +Add new quirk for devices that cannot handle requests for the +device_qualifier descriptor. + +A USB-2.0 compliant device must respond to requests for the +device_qualifier descriptor (even if it's with a request error), but at +least one device is known to misbehave after such a request. + +Suggested-by: Bjørn Mork +Signed-off-by: Johan Hovold +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/core/hub.c | 3 +++ + include/linux/usb/quirks.h | 3 +++ + 2 files changed, 6 insertions(+) + +--- a/drivers/usb/core/hub.c ++++ b/drivers/usb/core/hub.c +@@ -4540,6 +4540,9 @@ check_highspeed (struct usb_hub *hub, st + struct usb_qualifier_descriptor *qual; + int status; + ++ if (udev->quirks & USB_QUIRK_DEVICE_QUALIFIER) ++ return; ++ + qual = kmalloc (sizeof *qual, GFP_KERNEL); + if (qual == NULL) + return; +--- a/include/linux/usb/quirks.h ++++ b/include/linux/usb/quirks.h +@@ -44,4 +44,7 @@ + /* device generates spurious wakeup, ignore remote wakeup capability */ + #define USB_QUIRK_IGNORE_REMOTE_WAKEUP 0x00000200 + ++/* device can't handle device_qualifier descriptor requests */ ++#define USB_QUIRK_DEVICE_QUALIFIER 0x00000100 ++ + #endif /* __LINUX_USB_QUIRKS_H */ diff --git a/queue-3.17/usb-quirks-enable-device-qualifier-quirk-for-another-elan-touchscreen.patch b/queue-3.17/usb-quirks-enable-device-qualifier-quirk-for-another-elan-touchscreen.patch new file mode 100644 index 00000000000..3adf9cbc988 --- /dev/null +++ b/queue-3.17/usb-quirks-enable-device-qualifier-quirk-for-another-elan-touchscreen.patch @@ -0,0 +1,32 @@ +From 876af5d454548be40327ba9efea4bc92a8575019 Mon Sep 17 00:00:00 2001 +From: Adel Gadllah +Date: Thu, 9 Oct 2014 09:29:29 +0200 +Subject: USB: quirks: enable device-qualifier quirk for another Elan touchscreen + +From: Adel Gadllah + +commit 876af5d454548be40327ba9efea4bc92a8575019 upstream. + +Currently this quirk is enabled for the model with the device id 0x0089, it +is needed for the 0x009b model, which is found on the Fujitsu Lifebook u904 +as well. + +Signed-off-by: Adel Gadllah +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/core/quirks.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/drivers/usb/core/quirks.c ++++ b/drivers/usb/core/quirks.c +@@ -97,6 +97,9 @@ static const struct usb_device_id usb_qu + { USB_DEVICE(0x04f3, 0x0089), .driver_info = + USB_QUIRK_DEVICE_QUALIFIER }, + ++ { USB_DEVICE(0x04f3, 0x009b), .driver_info = ++ USB_QUIRK_DEVICE_QUALIFIER }, ++ + /* Roland SC-8820 */ + { USB_DEVICE(0x0582, 0x0007), .driver_info = USB_QUIRK_RESET_RESUME }, + diff --git a/queue-3.17/usb-quirks-enable-device-qualifier-quirk-for-elan-touchscreen.patch b/queue-3.17/usb-quirks-enable-device-qualifier-quirk-for-elan-touchscreen.patch new file mode 100644 index 00000000000..e0b138a0d90 --- /dev/null +++ b/queue-3.17/usb-quirks-enable-device-qualifier-quirk-for-elan-touchscreen.patch @@ -0,0 +1,47 @@ +From c68929f75dfcb6354918862b91b5778585de1fa5 Mon Sep 17 00:00:00 2001 +From: Johan Hovold +Date: Mon, 25 Aug 2014 17:51:27 +0200 +Subject: USB: quirks: enable device-qualifier quirk for Elan Touchscreen + +From: Johan Hovold + +commit c68929f75dfcb6354918862b91b5778585de1fa5 upstream. + +Enable device-qualifier quirk for Elan Touchscreen, which often fails to +handle requests for the device_descriptor. + +Note that the device sometimes do respond properly with a Request Error +(three times as USB core retries), but usually fails to respond at all. +When this happens any further descriptor requests also fails, for +example: + +[ 1528.688934] usb 2-7: new full-speed USB device number 4 using xhci_hcd +[ 1530.945588] usb 2-7: unable to read config index 0 descriptor/start: -71 +[ 1530.945592] usb 2-7: can't read configurations, error -71 + +This has been observed repeating for over a minute before eventual +successful enumeration. + +Reported-by: Drew Von Spreecken +Reported-by: Greg Kroah-Hartman +Signed-off-by: Johan Hovold +Signed-off-by: Greg Kroah-Hartman +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/core/quirks.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/drivers/usb/core/quirks.c ++++ b/drivers/usb/core/quirks.c +@@ -93,6 +93,10 @@ static const struct usb_device_id usb_qu + { USB_DEVICE(0x04e8, 0x6601), .driver_info = + USB_QUIRK_CONFIG_INTF_STRINGS }, + ++ /* Elan Touchscreen */ ++ { USB_DEVICE(0x04f3, 0x0089), .driver_info = ++ USB_QUIRK_DEVICE_QUALIFIER }, ++ + /* Roland SC-8820 */ + { USB_DEVICE(0x0582, 0x0007), .driver_info = USB_QUIRK_RESET_RESUME }, + diff --git a/queue-3.17/usb-quirks-enable-device-qualifier-quirk-for-yet-another-elan-touchscreen.patch b/queue-3.17/usb-quirks-enable-device-qualifier-quirk-for-yet-another-elan-touchscreen.patch new file mode 100644 index 00000000000..2fd73413c80 --- /dev/null +++ b/queue-3.17/usb-quirks-enable-device-qualifier-quirk-for-yet-another-elan-touchscreen.patch @@ -0,0 +1,31 @@ +From d749947561af5996ccc076b2ffcc5f48b1be5d74 Mon Sep 17 00:00:00 2001 +From: Adel Gadllah +Date: Thu, 9 Oct 2014 09:29:30 +0200 +Subject: USB: quirks: enable device-qualifier quirk for yet another Elan touchscreen + +From: Adel Gadllah + +commit d749947561af5996ccc076b2ffcc5f48b1be5d74 upstream. + +Yet another device affected by this. + +Tested-by: Kevin Fenzi +Signed-off-by: Adel Gadllah +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/core/quirks.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/drivers/usb/core/quirks.c ++++ b/drivers/usb/core/quirks.c +@@ -100,6 +100,9 @@ static const struct usb_device_id usb_qu + { USB_DEVICE(0x04f3, 0x009b), .driver_info = + USB_QUIRK_DEVICE_QUALIFIER }, + ++ { USB_DEVICE(0x04f3, 0x016f), .driver_info = ++ USB_QUIRK_DEVICE_QUALIFIER }, ++ + /* Roland SC-8820 */ + { USB_DEVICE(0x0582, 0x0007), .driver_info = USB_QUIRK_RESET_RESUME }, +