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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html