|
|
@ -38,7 +38,7 @@ __acquires(ahcd->lock) |
|
|
|
&& urb->status == 0) { |
|
|
|
&& urb->status == 0) { |
|
|
|
urb->status = -EREMOTEIO; |
|
|
|
urb->status = -EREMOTEIO; |
|
|
|
#ifdef ADMHC_VERBOSE_DEBUG |
|
|
|
#ifdef ADMHC_VERBOSE_DEBUG |
|
|
|
urb_print(urb, "SHORT", usb_pipeout (urb->pipe)); |
|
|
|
urb_print(ahcd, urb, "SHORT", usb_pipeout(urb->pipe)); |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
} |
|
|
|
} |
|
|
|
spin_unlock(&urb->lock); |
|
|
|
spin_unlock(&urb->lock); |
|
|
@ -53,7 +53,7 @@ __acquires(ahcd->lock) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
#ifdef ADMHC_VERBOSE_DEBUG |
|
|
|
#ifdef ADMHC_VERBOSE_DEBUG |
|
|
|
urb_print(urb, "RET", usb_pipeout (urb->pipe)); |
|
|
|
urb_print(ahcd, urb, "RET", usb_pipeout (urb->pipe)); |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
/* urb->complete() can reenter this HCD */ |
|
|
|
/* urb->complete() can reenter this HCD */ |
|
|
@ -432,9 +432,7 @@ static void td_submit_urb(struct admhcd *ahcd, struct urb *urb) |
|
|
|
int cnt = 0; |
|
|
|
int cnt = 0; |
|
|
|
u32 info = 0; |
|
|
|
u32 info = 0; |
|
|
|
int is_out = usb_pipeout(urb->pipe); |
|
|
|
int is_out = usb_pipeout(urb->pipe); |
|
|
|
int periodic = 0; |
|
|
|
|
|
|
|
u32 toggle = 0; |
|
|
|
u32 toggle = 0; |
|
|
|
struct td *td; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* OHCI handles the bulk/interrupt data toggles itself. We just
|
|
|
|
/* OHCI handles the bulk/interrupt data toggles itself. We just
|
|
|
|
* use the device toggle bits for resetting, and rely on the fact |
|
|
|
* use the device toggle bits for resetting, and rely on the fact |
|
|
@ -795,7 +793,7 @@ rescan_this: |
|
|
|
*prev = td->hwNextTD | savebits; |
|
|
|
*prev = td->hwNextTD | savebits; |
|
|
|
|
|
|
|
|
|
|
|
/* HC may have partly processed this TD */ |
|
|
|
/* HC may have partly processed this TD */ |
|
|
|
urb_print(urb, "PARTIAL", 1); |
|
|
|
urb_print(ahcd, urb, "PARTIAL", 1); |
|
|
|
td_done(ahcd, urb, td); |
|
|
|
td_done(ahcd, urb, td); |
|
|
|
|
|
|
|
|
|
|
|
/* if URB is done, clean up */ |
|
|
|
/* if URB is done, clean up */ |
|
|
@ -838,10 +836,8 @@ rescan_this: |
|
|
|
static void ed_unhalt(struct admhcd *ahcd, struct ed *ed, struct urb *urb) |
|
|
|
static void ed_unhalt(struct admhcd *ahcd, struct ed *ed, struct urb *urb) |
|
|
|
{ |
|
|
|
{ |
|
|
|
struct list_head *entry,*tmp; |
|
|
|
struct list_head *entry,*tmp; |
|
|
|
struct urb_priv *urb_priv = urb->hcpriv; |
|
|
|
|
|
|
|
__hc32 toggle = ed->hwHeadP & cpu_to_hc32(ahcd, ED_C); |
|
|
|
__hc32 toggle = ed->hwHeadP & cpu_to_hc32(ahcd, ED_C); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef ADMHC_VERBOSE_DEBUG |
|
|
|
#ifdef ADMHC_VERBOSE_DEBUG |
|
|
|
admhc_dump_ed(ahcd, "UNHALT", ed, 0); |
|
|
|
admhc_dump_ed(ahcd, "UNHALT", ed, 0); |
|
|
|
#endif |
|
|
|
#endif |
|
|
|