]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
USB: xhci: fix OS want to own HC
authorJiSheng Zhang <jszhang3@gmail.com>
Sat, 16 Jul 2011 03:04:19 +0000 (11:04 +0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 17 Aug 2011 17:55:51 +0000 (10:55 -0700)
commit 6768458b17f9bf48a4c3a34e49b20344091b5f7e upstream.

Software should set XHCI_HC_OS_OWNED bit to request ownership of xHC.

This patch should be backported to kernels as far back as 2.6.31.

Signed-off-by: JiSheng Zhang <jszhang3@gmail.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/pci-quirks.c

index 04b90ad319d718ceaab2e5739df85e2d67e14206..e9f004ee56b4918e16f28761d8316d933d42fd9f 100644 (file)
@@ -803,7 +803,7 @@ static void __devinit quirk_usb_handoff_xhci(struct pci_dev *pdev)
 
        /* If the BIOS owns the HC, signal that the OS wants it, and wait */
        if (val & XHCI_HC_BIOS_OWNED) {
-               writel(val & XHCI_HC_OS_OWNED, base + ext_cap_offset);
+               writel(val | XHCI_HC_OS_OWNED, base + ext_cap_offset);
 
                /* Wait for 5 seconds with 10 microsecond polling interval */
                timeout = handshake(base + ext_cap_offset, XHCI_HC_BIOS_OWNED,