[PATCH 1/2] usb: xhci: Fix a format bug

Michal Pecio
2025-10-16T16:28:19Z

The width of 'addr' depends on kernel configuration and gibberish is
printed in traces and dynamic debug on some 32 bit systems like ARM:

Removing canceled TD starting at 0xf9c96eb0 (dma) in stream 0 URB 54e247b5
Set TR Deq ptr 0x205400000000000, cycle 0

Successful Set TR Deq Ptr cmd, deq = @f9c96ef0

Fix it by casting to 64 bits. No effect on unaffected systems.
Remove the newline which casuses an empty line to appear next.

Fixes: d1dbfb942c33 ("xhci: introduce a new move_dequeue_past_td() function to replace old code.")
Cc: stable@vger.kernel.org
Signed-off-by: Michal Pecio <michal.pecio@gmail.com>
---
drivers/usb/host/xhci-ring.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index c7f658d446cd..6d799a5a062d 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -776,7 +776,7 @@ static int xhci_move_dequeue_past_td(struct xhci_hcd *xhci,
ep->queued_deq_ptr = new_deq;

xhci_dbg_trace(xhci, trace_xhci_dbg_cancel_urb,
- "Set TR Deq ptr 0x%llx, cycle %u\n", addr, new_cycle);
+ "Set TR Deq ptr 0x%llx, cycle %u", (u64) addr, new_cycle);

/* Stop the TD queueing code from ringing the doorbell until
* this command completes. The HC won't set the dequeue pointer
--
2.48.1