原因是什么: ERROR Transfer event TRB DMA ptr not part of current TD

原因是什么: ERROR Transfer event TRB DMA ptr not part of current TD

我根据启用xhci debugging通过echo -n 'module xhci_hcd =p' > /sys/kernel/debug/dynamic_debug/controllore.kernel.org/lkml/55B228A4.2020604

那里提到的差一错误已被修复linux/提交/7895086af

系统: 5.15.0-71-generic不同的 USB 扫描仪在扫描过程中可重复触发此问题。扫描可以工作但会中断。扫描仪在不同的主机上工作。

如果此错误可能是由硬件问题引起的:其背后的机制是什么?或者这绝对是驱动程序问题?

ERROR Transfer event TRB DMA ptr not part of current TD ep_index 16 comp_code 13

xhci_hcd 0000:03:00.0: Waiting for status stage event
xhci_hcd 0000:03:00.0: ep 0x89 - asked for 64 bytes, 48 bytes untransferred
xhci_hcd 0000:03:00.0: Cancel URB 00000000ba31faee, dev 1.4, ep 0x89, starting at offset 0x1e91fa0a0
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: Stopped on Transfer TRB for slot 7 ep 18
xhci_hcd 0000:03:00.0: Removing canceled TD starting at 0x1e91fa0a0 (dma) in stream 0 URB 00000000ba31faee
xhci_hcd 0000:03:00.0: Set TR Deq ptr 0x1e91fa0b0, cycle 1

xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: xhci_giveback_invalidated_tds: Keep cancelled URB 00000000ba31faee TD as cancel_status is 2
xhci_hcd 0000:03:00.0: Successful Set TR Deq Ptr cmd, deq = @1e91fa0b0
xhci_hcd 0000:03:00.0: xhci_handle_cmd_set_deq: Giveback cancelled URB 00000000ba31faee TD
xhci_hcd 0000:03:00.0: Giveback URB 00000000ba31faee, len = 0, expected = 64, status = -115
xhci_hcd 0000:03:00.0: ep 0x89 - asked for 64 bytes, 48 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
...
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 523792 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 523792 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 523792 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 523792 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 523792 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 523792 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 523792 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 523792 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 523792 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 523792 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 523792 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 523792 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 512 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ep 0x88 - asked for 523792 bytes, 496 bytes untransferred
xhci_hcd 0000:03:00.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 16 comp_code 13
xhci_hcd 0000:03:00.0: Looking for event-dma 00000001e9001020 trb-start 00000001e9001160 trb-end 00000001e9001160 seg-start 00000001e9001000 seg-end 00000001e9001ff0
xhci_hcd 0000:03:00.0: Cancel URB 000000003cf78aa1, dev 1.4, ep 0x88, starting at offset 0x1e9001160
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: Stopped on Transfer TRB for slot 7 ep 16
xhci_hcd 0000:03:00.0: Removing canceled TD starting at 0x1e9001160 (dma) in stream 0 URB 000000003cf78aa1
xhci_hcd 0000:03:00.0: Set TR Deq ptr 0x1e9001170, cycle 1

xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: xhci_giveback_invalidated_tds: Keep cancelled URB 000000003cf78aa1 TD as cancel_status is 2
xhci_hcd 0000:03:00.0: Successful Set TR Deq Ptr cmd, deq = @1e9001170
xhci_hcd 0000:03:00.0: xhci_handle_cmd_set_deq: Giveback cancelled URB 000000003cf78aa1 TD
xhci_hcd 0000:03:00.0: Giveback URB 000000003cf78aa1, len = 0, expected = 512, status = -115
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: Cancel URB 000000003cf78aa1, dev 1.4, ep 0x88, starting at offset 0x1e9001170
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: Stopped on Transfer TRB for slot 7 ep 16
xhci_hcd 0000:03:00.0: Removing canceled TD starting at 0x1e9001170 (dma) in stream 0 URB 000000003cf78aa1
xhci_hcd 0000:03:00.0: Set TR Deq ptr 0x1e9001180, cycle 1

xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: xhci_giveback_invalidated_tds: Keep cancelled URB 000000003cf78aa1 TD as cancel_status is 2
xhci_hcd 0000:03:00.0: Successful Set TR Deq Ptr cmd, deq = @1e9001180
xhci_hcd 0000:03:00.0: xhci_handle_cmd_set_deq: Giveback cancelled URB 000000003cf78aa1 TD
xhci_hcd 0000:03:00.0: Giveback URB 000000003cf78aa1, len = 0, expected = 512, status = -115
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: Cancel URB 0000000066b56653, dev 1.4, ep 0x88, starting at offset 0x1e9001180
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: Stopped on Transfer TRB for slot 7 ep 16
xhci_hcd 0000:03:00.0: Removing canceled TD starting at 0x1e9001180 (dma) in stream 0 URB 0000000066b56653
xhci_hcd 0000:03:00.0: Set TR Deq ptr 0x1e9001190, cycle 1

xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: xhci_giveback_invalidated_tds: Keep cancelled URB 0000000066b56653 TD as cancel_status is 2
xhci_hcd 0000:03:00.0: Successful Set TR Deq Ptr cmd, deq = @1e9001190
xhci_hcd 0000:03:00.0: xhci_handle_cmd_set_deq: Giveback cancelled URB 0000000066b56653 TD
xhci_hcd 0000:03:00.0: Giveback URB 0000000066b56653, len = 0, expected = 512, status = -115
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: Cancel URB 0000000066b56653, dev 1.4, ep 0x88, starting at offset 0x1e9001190
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: Stopped on Transfer TRB for slot 7 ep 16
xhci_hcd 0000:03:00.0: Removing canceled TD starting at 0x1e9001190 (dma) in stream 0 URB 0000000066b56653
xhci_hcd 0000:03:00.0: Set TR Deq ptr 0x1e90011a0, cycle 1

xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: xhci_giveback_invalidated_tds: Keep cancelled URB 0000000066b56653 TD as cancel_status is 2
xhci_hcd 0000:03:00.0: Successful Set TR Deq Ptr cmd, deq = @1e90011a0
xhci_hcd 0000:03:00.0: xhci_handle_cmd_set_deq: Giveback cancelled URB 0000000066b56653 TD
xhci_hcd 0000:03:00.0: Giveback URB 0000000066b56653, len = 0, expected = 512, status = -115
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: Cancel URB 0000000066b56653, dev 1.4, ep 0x88, starting at offset 0x1e90011a0
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: Stopped on Transfer TRB for slot 7 ep 16
xhci_hcd 0000:03:00.0: Removing canceled TD starting at 0x1e90011a0 (dma) in stream 0 URB 0000000066b56653
xhci_hcd 0000:03:00.0: Set TR Deq ptr 0x1e90011b0, cycle 1

xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: xhci_giveback_invalidated_tds: Keep cancelled URB 0000000066b56653 TD as cancel_status is 2
xhci_hcd 0000:03:00.0: Successful Set TR Deq Ptr cmd, deq = @1e90011b0
xhci_hcd 0000:03:00.0: xhci_handle_cmd_set_deq: Giveback cancelled URB 0000000066b56653 TD
xhci_hcd 0000:03:00.0: Giveback URB 0000000066b56653, len = 0, expected = 512, status = -115
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: Cancel URB 0000000066b56653, dev 1.4, ep 0x88, starting at offset 0x1e90011b0
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: Stopped on Transfer TRB for slot 7 ep 16
xhci_hcd 0000:03:00.0: Removing canceled TD starting at 0x1e90011b0 (dma) in stream 0 URB 0000000066b56653
xhci_hcd 0000:03:00.0: Set TR Deq ptr 0x1e90011c0, cycle 1

xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: xhci_giveback_invalidated_tds: Keep cancelled URB 0000000066b56653 TD as cancel_status is 2
xhci_hcd 0000:03:00.0: Successful Set TR Deq Ptr cmd, deq = @1e90011c0
xhci_hcd 0000:03:00.0: xhci_handle_cmd_set_deq: Giveback cancelled URB 0000000066b56653 TD
xhci_hcd 0000:03:00.0: Giveback URB 0000000066b56653, len = 0, expected = 512, status = -115
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: Cancel URB 0000000062ea2f41, dev 1.4, ep 0x88, starting at offset 0x1e90011c0
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: Stopped on Transfer TRB for slot 7 ep 16
xhci_hcd 0000:03:00.0: Removing canceled TD starting at 0x1e90011c0 (dma) in stream 0 URB 0000000062ea2f41
xhci_hcd 0000:03:00.0: Set TR Deq ptr 0x1e90011d0, cycle 1

xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: xhci_giveback_invalidated_tds: Keep cancelled URB 0000000062ea2f41 TD as cancel_status is 2
xhci_hcd 0000:03:00.0: Successful Set TR Deq Ptr cmd, deq = @1e90011d0
xhci_hcd 0000:03:00.0: xhci_handle_cmd_set_deq: Giveback cancelled URB 0000000062ea2f41 TD
xhci_hcd 0000:03:00.0: Giveback URB 0000000062ea2f41, len = 0, expected = 512, status = -115
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: Cancel URB 00000000a68705c6, dev 1.4, ep 0x88, starting at offset 0x1e90011d0
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: Stopped on Transfer TRB for slot 7 ep 16
xhci_hcd 0000:03:00.0: Removing canceled TD starting at 0x1e90011d0 (dma) in stream 0 URB 00000000a68705c6
xhci_hcd 0000:03:00.0: Set TR Deq ptr 0x1e90011e0, cycle 1

xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: xhci_giveback_invalidated_tds: Keep cancelled URB 00000000a68705c6 TD as cancel_status is 2
xhci_hcd 0000:03:00.0: Successful Set TR Deq Ptr cmd, deq = @1e90011e0
xhci_hcd 0000:03:00.0: xhci_handle_cmd_set_deq: Giveback cancelled URB 00000000a68705c6 TD
xhci_hcd 0000:03:00.0: Giveback URB 00000000a68705c6, len = 0, expected = 512, status = -115
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: Cancel URB 00000000a68705c6, dev 1.4, ep 0x88, starting at offset 0x1e90011e0
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: Stopped on Transfer TRB for slot 7 ep 16
xhci_hcd 0000:03:00.0: Removing canceled TD starting at 0x1e90011e0 (dma) in stream 0 URB 00000000a68705c6
xhci_hcd 0000:03:00.0: Set TR Deq ptr 0x1e90013e0, cycle 1

xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: xhci_giveback_invalidated_tds: Keep cancelled URB 00000000a68705c6 TD as cancel_status is 2
xhci_hcd 0000:03:00.0: Successful Set TR Deq Ptr cmd, deq = @1e90013e0
xhci_hcd 0000:03:00.0: xhci_handle_cmd_set_deq: Giveback cancelled URB 00000000a68705c6 TD
xhci_hcd 0000:03:00.0: Giveback URB 00000000a68705c6, len = 0, expected = 524288, status = -115
xhci_hcd 0000:03:00.0: // Ding dong!
xhci_hcd 0000:03:00.0: // Ding dong!

相关内容