View | Details | Raw Unified | Return to bug 217242 | Differences between
and this patch

Collapse All | Expand All

(-)a/drivers/usb/host/xhci-ring.c (-2 / +5 lines)
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
- 

Return to bug 217242