Root/
| 1 | --- a/drivers/usb/host/ehci-q.c |
| 2 | +++ b/drivers/usb/host/ehci-q.c |
| 3 | @@ -782,6 +782,11 @@ static void qh_link_async (struct ehci_h |
| 4 | if (!(cmd & CMD_ASE)) { |
| 5 | /* in case a clear of CMD_ASE didn't take yet */ |
| 6 | (void) handshake (&ehci->regs->status, STS_ASS, 0, 150); |
| 7 | + |
| 8 | + /* force async head to be valid */ |
| 9 | + writel ((u32)ehci->async->qh_dma, |
| 10 | + &ehci->regs->async_next); |
| 11 | + |
| 12 | cmd |= CMD_ASE | CMD_RUN; |
| 13 | writel (cmd, &ehci->regs->command); |
| 14 | ehci->hcd.state = USB_STATE_RUNNING; |
| 15 |
