]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/usb/host/xhci-hcd.c
USB: xhci: Correct Event Handler Busy flag usage.
[net-next-2.6.git] / drivers / usb / host / xhci-hcd.c
index e15773598e4e60b4e5dd4cbb7ddcb9ea82a9660c..2e8e5bf6b6ca31b00ec4344abdaae3ab23093457 100644 (file)
@@ -249,9 +249,9 @@ static void xhci_work(struct xhci_hcd *xhci)
        /* FIXME this should be a delayed service routine that clears the EHB */
        xhci_handle_event(xhci);
 
-       /* Clear the event handler busy flag; the event ring should be empty. */
+       /* Clear the event handler busy flag (RW1C); the event ring should be empty. */
        temp_64 = xhci_read_64(xhci, &xhci->ir_set->erst_dequeue);
-       xhci_write_64(xhci, temp_64 & ~ERST_EHB, &xhci->ir_set->erst_dequeue);
+       xhci_write_64(xhci, temp_64 ERST_EHB, &xhci->ir_set->erst_dequeue);
        /* Flush posted writes -- FIXME is this necessary? */
        xhci_readl(xhci, &xhci->ir_set->irq_pending);
 }