From eab55281e79dfd8529863ce96f84824422abb5ea Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 10 Nov 2014 13:50:24 +0900 Subject: [PATCH] 3.14-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 --- queue-3.14/series | 4 ++ .../usb-core-add-device-qualifier-quirk.patch | 50 +++++++++++++++++++ ...r-quirk-for-another-elan-touchscreen.patch | 32 ++++++++++++ ...qualifier-quirk-for-elan-touchscreen.patch | 47 +++++++++++++++++ ...irk-for-yet-another-elan-touchscreen.patch | 31 ++++++++++++ 5 files changed, 164 insertions(+) create mode 100644 queue-3.14/usb-core-add-device-qualifier-quirk.patch create mode 100644 queue-3.14/usb-quirks-enable-device-qualifier-quirk-for-another-elan-touchscreen.patch create mode 100644 queue-3.14/usb-quirks-enable-device-qualifier-quirk-for-elan-touchscreen.patch create mode 100644 queue-3.14/usb-quirks-enable-device-qualifier-quirk-for-yet-another-elan-touchscreen.patch diff --git a/queue-3.14/series b/queue-3.14/series index 44c2eedaa6d..14e521d739f 100644 --- a/queue-3.14/series +++ b/queue-3.14/series @@ -147,3 +147,7 @@ spi-fsl-dspi-fix-ctar-selection.patch spi-pxa2xx-toggle-clocks-on-suspend-if-not-disabled-by-runtime-pm.patch usb-musb-cppi41-restart-hrtimer-only-if-not-yet-done.patch usb-musb-dsps-start-otg-timer-on-resume-again.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.14/usb-core-add-device-qualifier-quirk.patch b/queue-3.14/usb-core-add-device-qualifier-quirk.patch new file mode 100644 index 00000000000..cf30c85908e --- /dev/null +++ b/queue-3.14/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 +@@ -4378,6 +4378,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 +@@ -33,4 +33,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.14/usb-quirks-enable-device-qualifier-quirk-for-another-elan-touchscreen.patch b/queue-3.14/usb-quirks-enable-device-qualifier-quirk-for-another-elan-touchscreen.patch new file mode 100644 index 00000000000..3adf9cbc988 --- /dev/null +++ b/queue-3.14/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.14/usb-quirks-enable-device-qualifier-quirk-for-elan-touchscreen.patch b/queue-3.14/usb-quirks-enable-device-qualifier-quirk-for-elan-touchscreen.patch new file mode 100644 index 00000000000..e0b138a0d90 --- /dev/null +++ b/queue-3.14/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.14/usb-quirks-enable-device-qualifier-quirk-for-yet-another-elan-touchscreen.patch b/queue-3.14/usb-quirks-enable-device-qualifier-quirk-for-yet-another-elan-touchscreen.patch new file mode 100644 index 00000000000..2fd73413c80 --- /dev/null +++ b/queue-3.14/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 }, + -- 2.47.3