Hello,

I'm working on a network driver using USB3 interface to the device. From
time to time I am receiving EPROTO (-71) error on URB completion handler.
Once I get into this state all my subsequent receive URBs return the same
and I have to reset the machine to get things working again.

>From investigating into the xhci hcd driver under my kernel (3.6.5) I
checked that this is a transaction error rather than a COMP_SPLIT_ERR in
handle_tx_event().

What I am looking for is some tips/strategies on how to debug what am I
doing wrong in my driver to cause this situation. Here below is a short
excerpt from my kernel log. 

Thanks for any help, much appreciated.

Bryan

Jun 12 10:36:14 Target kernel: xhci-hcd xhci-hcd: ep 0x83 - asked for 8003
bytes, 7911 bytes untransferred
Jun 12 10:36:14 Target kernel: xhci-hcd xhci-hcd: ep 0x83 - asked for 8003
bytes, 4111 bytes untransferred
Jun 12 10:36:14 Target last message repeated 41 times
Jun 12 10:36:14 Target kernel: xhci-hcd xhci-hcd: WARN halted endpoint,
queueing URB anyway.
Jun 12 10:36:14 Target last message repeated 2 times
Jun 12 10:36:14 Target kernel: xhci-hcd xhci-hcd: ep 0x83 - asked for 8003
bytes, 4111 bytes untransferred
Jun 12 10:36:14 Target last message repeated 4 times
Jun 12 10:36:14 Target kernel: xhci-hcd xhci-hcd: Giveback URB cdbb5080, len
= 0, expected = 8003, status = -71
Jun 12 10:36:15 Target kernel: recv pipe err: NETWK_DATA_IN failed:-71
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: Ignoring reset ep
completion code of 1
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: Successful Set TR Deq Ptr
cmd, deq = @8f0087b0
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: WARN halted endpoint,
queueing URB anyway.
Jun 12 10:36:15 Target last message repeated 12 times
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: Transfer error on endpoint
TX_ERR (4)
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: Cleaning up stalled
endpoint ring
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: Finding segment containing
stopped TRB.
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: Finding endpoint context
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: Finding segment containing
last TRB in TD.
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: Cycle state = 0x0
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: New dequeue segment =
cd8e7ec0 (virtual)
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: New dequeue pointer =
0x8f0087c0 (DMA)
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: Queueing new dequeue state
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: Set TR Deq Ptr cmd, new
deq seg = cd8e7ec0 (0x8f008400 dma), new deq ptr = ce0087c0 (0x8f0087c0
dma), new cycle = 0
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: // Ding dong!
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: Giveback URB cdbb5080, len
= 0, expected = 8003, status = -71
Jun 12 10:36:15 Target kernel: recv pipe err: NETWK_DATA_IN failed:-71
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: Ignoring reset ep
completion code of 1
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: Successful Set TR Deq Ptr
cmd, deq = @8f0087c0
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: Transfer error on endpoint
TX_ERR (4)
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: Cleaning up stalled
endpoint ring
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: Finding segment containing
stopped TRB.
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: Finding endpoint context
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: Finding segment containing
last TRB in TD.
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: Cycle state = 0x0
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: New dequeue segment =
cd8e7ec0 (virtual)
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: New dequeue pointer =
0x8f0087d0 (DMA)
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: Queueing new dequeue state
Jun 12 10:36:15 Target kernel: xhci-hcd xhci-hcd: Set TR Deq Ptr cmd, new
deq seg = cd8e7ec0 (0x8f008400 dma), new deq ptr = ce0087d0 (0x8f0087d0
dma), new cycle = 0


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to