]> 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>
Mon, 29 Aug 2011 21:08:01 +0000 (14:08 -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 bcf7a88fe516836127d531d1f4ddabf0c58f4c9a..eae8b18437cb66cca663a9e611e85a3f15668721 100644 (file)
@@ -444,7 +444,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,