]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/3.4.96/usb-ehci-avoid-bios-handover-on-the-hasee-e200.patch
Fix up backported ptrace patch
[thirdparty/kernel/stable-queue.git] / releases / 3.4.96 / usb-ehci-avoid-bios-handover-on-the-hasee-e200.patch
1 From b0a50e92bda3c4aeb8017d4e6c6e92146ebd5c9b Mon Sep 17 00:00:00 2001
2 From: Alan Stern <stern@rowland.harvard.edu>
3 Date: Tue, 3 Jun 2014 11:00:27 -0400
4 Subject: USB: EHCI: avoid BIOS handover on the HASEE E200
5
6 From: Alan Stern <stern@rowland.harvard.edu>
7
8 commit b0a50e92bda3c4aeb8017d4e6c6e92146ebd5c9b upstream.
9
10 Leandro Liptak reports that his HASEE E200 computer hangs when we ask
11 the BIOS to hand over control of the EHCI host controller. This
12 definitely sounds like a bug in the BIOS, but at the moment there is
13 no way to fix it.
14
15 This patch works around the problem by avoiding the handoff whenever
16 the motherboard and BIOS version match those of Leandro's computer.
17
18 Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
19 Reported-by: Leandro Liptak <leandroliptak@gmail.com>
20 Tested-by: Leandro Liptak <leandroliptak@gmail.com>
21 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
22
23 ---
24 drivers/usb/host/pci-quirks.c | 19 ++++++++++++++++---
25 1 file changed, 16 insertions(+), 3 deletions(-)
26
27 --- a/drivers/usb/host/pci-quirks.c
28 +++ b/drivers/usb/host/pci-quirks.c
29 @@ -555,6 +555,14 @@ static const struct dmi_system_id __devi
30 DMI_MATCH(DMI_BIOS_VERSION, "Lucid-"),
31 },
32 },
33 + {
34 + /* HASEE E200 */
35 + .matches = {
36 + DMI_MATCH(DMI_BOARD_VENDOR, "HASEE"),
37 + DMI_MATCH(DMI_BOARD_NAME, "E210"),
38 + DMI_MATCH(DMI_BIOS_VERSION, "6.00"),
39 + },
40 + },
41 { }
42 };
43
44 @@ -564,9 +572,14 @@ static void __devinit ehci_bios_handoff(
45 {
46 int try_handoff = 1, tried_handoff = 0;
47
48 - /* The Pegatron Lucid tablet sporadically waits for 98 seconds trying
49 - * the handoff on its unused controller. Skip it. */
50 - if (pdev->vendor == 0x8086 && pdev->device == 0x283a) {
51 + /*
52 + * The Pegatron Lucid tablet sporadically waits for 98 seconds trying
53 + * the handoff on its unused controller. Skip it.
54 + *
55 + * The HASEE E200 hangs when the semaphore is set (bugzilla #77021).
56 + */
57 + if (pdev->vendor == 0x8086 && (pdev->device == 0x283a ||
58 + pdev->device == 0x27cc)) {
59 if (dmi_check_system(ehci_dmi_nohandoff_table))
60 try_handoff = 0;
61 }