Hello all For USB Bulk transaction, 1. If there are NAK, and retransmit happens on a physical layer, does XHCI provide any statistical counter, e.g. how many retries for that URB, how can I get those counters or enable it for that TRB? 2. If Data is lost, XHCI have to resend URB request? how long it will take before it resend URB request? Is that a configurable timeout on XHCI spec? The following are some background of my question. I have a XHCI USB Host controller, there are 4 ports. I only connect one port to a USB 3.0 camera. and running program keep reading data from device, guvcview -d /dev/video0, the camera keeps sending 30 frames/second, normal within each frame, XHCI driver sends URB request -> Device response URB, response time is about 10 ~ 200ms. Some times, the response time takes 20 000 ~ 200 000 ms, as a result, the image gets corrupted. >From the USB device(Camera) firmware debugging tool, I can see that the Device actually did submit DMA in time, when this big latency happens firmware will complain, DMA buffer overflow. looks software works correctly on both sides. I'm trying to understand why the latency is not consistent? 3. I have 4 USB ports on the XHCI host controller, but only 1 device connects, does other 3 empty port take any USB bandwidth? is there anything related to bandwidth allocation I should look at it? 4. anything related PCIe I should look at? I enabled PCIe error reporting, No error found? Thanks. Regards Yunhua