diff options
author | Greg Kroah-Hartman <[email protected]> | 2013-01-25 13:27:36 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <[email protected]> | 2013-01-25 13:27:36 -0800 |
commit | 9f9cba810f36d16f4e64477e879a69f6c47b389d (patch) | |
tree | d787abcbead1439d3f82f0719efe520fd9689f79 /drivers/usb/host/xhci-ring.c | |
parent | dbf5bef8da169b38db804996a661f8d634df8295 (diff) | |
parent | 949db153b6466c6f7cad5a427ecea94985927311 (diff) |
Merge 3.8-rc5 into tty-next
This resolves a number of tty driver merge issues found in linux-next
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'drivers/usb/host/xhci-ring.c')
-rw-r--r-- | drivers/usb/host/xhci-ring.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c index cbb44b7b9d65..59fb5c677dbe 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c @@ -1725,6 +1725,15 @@ cleanup: if (bogus_port_status) return; + /* + * xHCI port-status-change events occur when the "or" of all the + * status-change bits in the portsc register changes from 0 to 1. + * New status changes won't cause an event if any other change + * bits are still set. When an event occurs, switch over to + * polling to avoid losing status changes. + */ + xhci_dbg(xhci, "%s: starting port polling.\n", __func__); + set_bit(HCD_FLAG_POLL_RH, &hcd->flags); spin_unlock(&xhci->lock); /* Pass this up to the core */ usb_hcd_poll_rh_status(hcd); |