From: JiSheng Zhang Date: Sat, 16 Jul 2011 03:04:19 +0000 (+0800) Subject: USB: xhci: fix OS want to own HC X-Git-Tag: v2.6.34.12~25 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4d59426ba4b9697f69ef607b2a628b201cda204d;p=thirdparty%2Fkernel%2Fstable.git USB: xhci: fix OS want to own HC 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 Signed-off-by: Sarah Sharp Signed-off-by: Paul Gortmaker --- diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c index bcf7a88fe5168..eae8b18437cb6 100644 --- a/drivers/usb/host/pci-quirks.c +++ b/drivers/usb/host/pci-quirks.c @@ -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,