After checked the difference between 6.17.0-14 and 6.17.0-19, I feel
this commit from v6.17.11 upstream stable release is suspicious.

The "hcd->speed >= HCD_USB3" guard has been removed, so it may lead to
the issue you encountered.

I tried to add it back and here is the test kernel. Please give it a try, 
thanks.
https://people.canonical.com/~acelan/bugs/lp2144606/


commit cc45e0572de15d695ce0698ff811d4efc3c2cec7
Author: Mathias Nyman <[email protected]>
Date:   Fri Nov 7 18:28:16 2025 +0200

    xhci: fix stale flag preventig URBs after link state error is cleared
    
    BugLink: https://bugs.launchpad.net/bugs/2138824
    
    commit b69dfcab6894b1fed5362a364411502a7469fce3 upstream.
    
    A usb device caught behind a link in ss.Inactive error state needs to
    be reset to recover. A VDEV_PORT_ERROR flag is used to track this state,
    preventing new transfers from being queued until error is cleared.
    
    This flag may be left uncleared if link goes to error state between two
    resets, and print the following message:
    
    "xhci_hcd 0000:00:14.0: Can't queue urb, port error, link inactive"
    
    Fix setting and clearing the flag.
    
    The flag is cleared after hub driver has successfully reset the device
    when hcd->reset_device is called. xhci-hcd issues an internal "reset
    device" command in this callback, and clear all flags once the command
    completes successfully.
    
    This command may complete with a context state error if slot was recently
    reset and is already in the defauilt state. This is treated as a success
    but flag was left uncleared.
    
    The link state field is also unreliable if port is currently in reset,
    so don't set the flag in active reset cases.
    Also clear the flag immediately when link is no longer in ss.Inactive
    state and port event handler detects a completed reset.
    
    This issue was discovered while debugging kernel bugzilla issue 220491.
    It is likely one small part of the problem, causing some of the failures,
    but root cause remains unknown
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=220491
    Fixes: b8c3b718087b ("usb: xhci: Don't try to recover an endpoint if port 
is in error state.")
    Cc: [email protected]
    Signed-off-by: Mathias Nyman <[email protected]>
    Link: 
https://patch.msgid.link/[email protected]
    Signed-off-by: Greg Kroah-Hartman <[email protected]>
    Signed-off-by: Bethany <[email protected]>
    Signed-off-by: Edoardo Canepa <[email protected]>


** Bug watch added: Linux Kernel Bug Tracker #220491
   https://bugzilla.kernel.org/show_bug.cgi?id=220491

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2144606

Title:
  Keychron stopped working through TB4 dell dock after kernel upgrade

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-hwe-6.17/+bug/2144606/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to