Skip to content

Commit c020c41

Browse files
AlanSterngregkh
authored andcommitted
USB: EHCI: avoid BIOS handover on the HASEE E200
Leandro Liptak reports that his HASEE E200 computer hangs when we ask the BIOS to hand over control of the EHCI host controller. This definitely sounds like a bug in the BIOS, but at the moment there is no way to fix it. This patch works around the problem by avoiding the handoff whenever the motherboard and BIOS version match those of Leandro's computer. Signed-off-by: Alan Stern <[email protected]> Reported-by: Leandro Liptak <[email protected]> Tested-by: Leandro Liptak <[email protected]> CC: <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 27d7045 commit c020c41

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

drivers/usb/host/pci-quirks.c

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -656,6 +656,14 @@ static const struct dmi_system_id ehci_dmi_nohandoff_table[] = {
656656
DMI_MATCH(DMI_BIOS_VERSION, "Lucid-"),
657657
},
658658
},
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+
},
659667
{ }
660668
};
661669

@@ -665,9 +673,14 @@ static void ehci_bios_handoff(struct pci_dev *pdev,
665673
{
666674
int try_handoff = 1, tried_handoff = 0;
667675

668-
/* The Pegatron Lucid tablet sporadically waits for 98 seconds trying
669-
* the handoff on its unused controller. Skip it. */
670-
if (pdev->vendor == 0x8086 && pdev->device == 0x283a) {
676+
/*
677+
* The Pegatron Lucid tablet sporadically waits for 98 seconds trying
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)) {
671684
if (dmi_check_system(ehci_dmi_nohandoff_table))
672685
try_handoff = 0;
673686
}

0 commit comments

Comments
 (0)