X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fusb%2Fhost%2Fehci-q.c;h=9b13bf2fa98d2c3bab626642a1ea925e183ed9e9;hb=987b0145d94eecf292d8b301228356f44611ab7c;hp=e469221e7ec392088fd1274e278175e29644f7a8;hpb=f7ed79d23a47594e7834d66a8f14449796d4f3e6;p=linux-2.6.git diff --git a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c index e469221e7..9b13bf2fa 100644 --- a/drivers/usb/host/ehci-q.c +++ b/drivers/usb/host/ehci-q.c @@ -702,7 +702,7 @@ qh_make ( } /* support for tt scheduling, and access to toggles */ - qh->dev = urb->dev; + qh->dev = usb_get_dev (urb->dev); /* using TT? */ switch (urb->dev->speed) { @@ -721,14 +721,7 @@ qh_make ( info1 |= maxp << 16; info2 |= (EHCI_TUNE_MULT_TT << 30); - - /* Some Freescale processors have an erratum in which the - * port number in the queue head was 0..N-1 instead of 1..N. - */ - if (ehci_has_fsl_portno_bug(ehci)) - info2 |= (urb->dev->ttport-1) << 23; - else - info2 |= urb->dev->ttport << 23; + info2 |= urb->dev->ttport << 23; /* set the address of the TT; for TDI's integrated * root hub tt, leave it zeroed. @@ -1022,14 +1015,12 @@ static void start_unlink_async (struct ehci_hcd *ehci, struct ehci_qh *qh) /* stop async schedule right now? */ if (unlikely (qh == ehci->async)) { /* can't get here without STS_ASS set */ - if (ehci_to_hcd(ehci)->state != HC_STATE_HALT - && !ehci->reclaim) { - /* ... and CMD_IAAD clear */ + if (ehci_to_hcd(ehci)->state != HC_STATE_HALT) { writel (cmd & ~CMD_ASE, &ehci->regs->command); wmb (); // handshake later, if we need to - timer_action_done (ehci, TIMER_ASYNC_OFF); } + timer_action_done (ehci, TIMER_ASYNC_OFF); return; }