diff options
| -rw-r--r-- | drivers/usb/host/pci-quirks.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c index 4a6d3dd68572..2f3acebb577a 100644 --- a/drivers/usb/host/pci-quirks.c +++ b/drivers/usb/host/pci-quirks.c | |||
| @@ -656,6 +656,14 @@ static const struct dmi_system_id ehci_dmi_nohandoff_table[] = { | |||
| 656 | DMI_MATCH(DMI_BIOS_VERSION, "Lucid-"), | 656 | DMI_MATCH(DMI_BIOS_VERSION, "Lucid-"), |
| 657 | }, | 657 | }, |
| 658 | }, | 658 | }, |
| 659 | { | ||
| 660 | /* HASEE E200 */ | ||
| 661 | .matches = { | ||
| 662 | DMI_MATCH(DMI_BOARD_VENDOR, "HASEE"), | ||
| 663 | DMI_MATCH(DMI_BOARD_NAME, "E210"), | ||
| 664 | DMI_MATCH(DMI_BIOS_VERSION, "6.00"), | ||
| 665 | }, | ||
| 666 | }, | ||
| 659 | { } | 667 | { } |
| 660 | }; | 668 | }; |
| 661 | 669 | ||
| @@ -665,9 +673,14 @@ static void ehci_bios_handoff(struct pci_dev *pdev, | |||
| 665 | { | 673 | { |
| 666 | int try_handoff = 1, tried_handoff = 0; | 674 | int try_handoff = 1, tried_handoff = 0; |
| 667 | 675 | ||
| 668 | /* The Pegatron Lucid tablet sporadically waits for 98 seconds trying | 676 | /* |
| 669 | * the handoff on its unused controller. Skip it. */ | 677 | * The Pegatron Lucid tablet sporadically waits for 98 seconds trying |
| 670 | if (pdev->vendor == 0x8086 && pdev->device == 0x283a) { | 678 | * the handoff on its unused controller. Skip it. |
| 679 | * | ||
| 680 | * The HASEE E200 hangs when the semaphore is set (bugzilla #77021). | ||
| 681 | */ | ||
| 682 | if (pdev->vendor == 0x8086 && (pdev->device == 0x283a || | ||
| 683 | pdev->device == 0x27cc)) { | ||
| 671 | if (dmi_check_system(ehci_dmi_nohandoff_table)) | 684 | if (dmi_check_system(ehci_dmi_nohandoff_table)) |
| 672 | try_handoff = 0; | 685 | try_handoff = 0; |
| 673 | } | 686 | } |
