Am Tue, 30 Jun 2020 22:03:29 +0300 schrieb Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx>: > On 30.6.2020 19.58, Fabian Melzow wrote: > > I successful applied the patch against Linux 5.7.4, but get this > > error when compiling drivers/usb/host/xhci-ring.c: > > > > CC [M] drivers/usb/host/xhci-ring.o > > drivers/usb/host/xhci-ring.c: In function ‘xhci_handle_cmd_stop_ep’: > > drivers/usb/host/xhci-ring.c:857:3: error: implicit declaration of > > function ‘xhci_reset_halted_ep’ > > [-Werror=implicit-function-declaration] 857 | > > xhci_reset_halted_ep(xhci, slot_id, ep_index, reset_type); | > > ^~~~~~~~~~~~~~~~~~~~ > > Right, forgot that you need another patch before this. Applied it and after recompiling I get: Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: Get port status 5-1 read: 0x2a0, return 0x100 Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: Waiting for status stage event Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: Successful Set TR Deq Ptr cmd, deq = @fedf51f0 Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: Ignoring reset ep completion code of 1 Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: Giveback URB 0000000096cbf5fe, len = 0, expected = 4, status = -32 Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: // Ding dong! Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: Set TR Deq Ptr cmd, new deq seg = 00000000a8c5372f (0xfedf5000 dma), new deq ptr = 00000000037c6b7a (0xfedf51f0 dma), new cycle = 1 Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: Queueing new dequeue state Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: New dequeue pointer = 0xfedf51f0 (DMA) Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: New dequeue segment = 00000000a8c5372f (virtual) Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: Cycle state = 0x1 Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: Finding endpoint context Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: Cleaning up stalled endpoint ring Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: Stalled endpoint for slot 1 ep 0 Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: Successful Set TR Deq Ptr cmd, deq = @fedf51c0 Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: // Ding dong! Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: Set TR Deq Ptr cmd, new deq seg = 00000000a8c5372f (0xfedf5000 dma), new deq ptr = 000000007e18677c (0xfedf51c0 dma), new cycle = 1 Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: New dequeue pointer = 0xfedf51c0 (DMA) Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: New dequeue segment = 00000000a8c5372f (virtual) Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: Cycle state = 0x1 Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: Finding endpoint context Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: Removing canceled TD starting at 0xfedf5190 (dma). Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: Stopped on Transfer TRB for slot 1 ep 0 Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: // Ding dong! Jul 01 19:06:29 ping kernel: xhci_hcd 0000:09:00.3: Cancel URB 000000009a11684b, dev 2, ep 0x0, starting at offset 0xfedf5190 Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: Successful Set TR Deq Ptr cmd, deq = @fede7830 Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: Ignoring reset ep completion code of 1 Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: Giveback URB 000000009a11684b, len = 0, expected = 4, status = -32 Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: // Ding dong! Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: Set TR Deq Ptr cmd, new deq seg = 0000000010319786 (0xfede7000 dma), new deq ptr = 0000000083eff911 (0xfede7830 dma), new cycle = 1 Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: Queueing new dequeue state Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: New dequeue pointer = 0xfede7830 (DMA) Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: New dequeue segment = 0000000010319786 (virtual) Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: Cycle state = 0x1 Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: Finding endpoint context Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: Cleaning up stalled endpoint ring Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: Stalled endpoint for slot 2 ep 0 Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: Successful Set TR Deq Ptr cmd, deq = @fede7800 Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: Ignoring reset ep completion code of 1 Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: Giveback URB 000000009a11684b, len = 0, expected = 10, status = -32 Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: // Ding dong! Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: Set TR Deq Ptr cmd, new deq seg = 0000000010319786 (0xfede7000 dma), new deq ptr = 00000000ad85653f (0xfede7800 dma), new cycle = 1 Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: Queueing new dequeue state Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: New dequeue pointer = 0xfede7800 (DMA) Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: New dequeue segment = 0000000010319786 (virtual) Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: Cycle state = 0x1 Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: Finding endpoint context Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: Cleaning up stalled endpoint ring Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: Stalled endpoint for slot 2 ep 0 Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: Waiting for status stage event Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: Waiting for status stage event Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: Waiting for status stage event Jul 01 19:06:24 ping kernel: xhci_hcd 0000:09:00.3: xhci_hub_status_data: stopping port polling. Jul 01 19:06:24 ping kernel: usb usb6: bus auto-suspend, wakeup 1 Look like the problem is fixed, but if you want, you can check the debuglogs at http://fabi.bplaced.net/debuglogs2.tar.xz Thanks! Fabian