Lines 2214-2219
static int finish_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep,
Link Here
|
2214 |
u32 trb_comp_code) |
2214 |
u32 trb_comp_code) |
2215 |
{ |
2215 |
{ |
2216 |
struct xhci_ep_ctx *ep_ctx; |
2216 |
struct xhci_ep_ctx *ep_ctx; |
|
|
2217 |
int trbs_freed; |
2217 |
|
2218 |
|
2218 |
ep_ctx = xhci_get_ep_ctx(xhci, ep->vdev->out_ctx, ep->ep_index); |
2219 |
ep_ctx = xhci_get_ep_ctx(xhci, ep->vdev->out_ctx, ep->ep_index); |
2219 |
|
2220 |
|
Lines 2283-2291
static int finish_td(struct xhci_hcd *xhci, struct xhci_virt_ep *ep,
Link Here
|
2283 |
} |
2284 |
} |
2284 |
|
2285 |
|
2285 |
/* Update ring dequeue pointer */ |
2286 |
/* Update ring dequeue pointer */ |
|
|
2287 |
trbs_freed = xhci_num_trbs_to(ep_ring->deq_seg, ep_ring->dequeue, |
2288 |
td->last_trb_seg, td->last_trb, |
2289 |
ep_ring->num_segs); |
2290 |
ep_ring->num_trbs_free += trbs_freed; |
2286 |
ep_ring->dequeue = td->last_trb; |
2291 |
ep_ring->dequeue = td->last_trb; |
2287 |
ep_ring->deq_seg = td->last_trb_seg; |
2292 |
ep_ring->deq_seg = td->last_trb_seg; |
2288 |
ep_ring->num_trbs_free += td->num_trbs - 1; |
|
|
2289 |
inc_deq(xhci, ep_ring); |
2293 |
inc_deq(xhci, ep_ring); |
2290 |
|
2294 |
|
2291 |
return xhci_td_cleanup(xhci, td, ep_ring, td->status); |
2295 |
return xhci_td_cleanup(xhci, td, ep_ring, td->status); |
2292 |
- |
|
|