USB: xhci: Correct Event Handler Busy flag usage.
authorSarah Sharp <sarah.a.sharp@linux.intel.com>
Mon, 27 Jul 2009 19:03:40 +0000 (12:03 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 28 Jul 2009 21:31:12 +0000 (14:31 -0700)
commit2d83109be62edd9647c45d7ed2b916b03974a7ec
tree77320544c5000b29b61140bde6fa6d1688171cc1
parent62889610f5591005bed9517360e17531684f72d0
USB: xhci: Correct Event Handler Busy flag usage.

The Event Handler Busy bit in the event ring dequeue pointer is write 1 to
clear.  Fix the interrupt service routine to clear that bit after the
event handler has run.

xhci_set_hc_event_deq() is designed to update the event ring dequeue pointer
without changing any of the four reserved bits in the lower nibble.  The event
handler busy (EHB) bit is write one to clear, so the new value must always
contain a zero in that bit in order to preserve the EHB value.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/xhci-hcd.c
drivers/usb/host/xhci-ring.c