SIGN IN SIGN UP

thunderbolt: Clamp DMA tunnel credits to what a hop register can hold

struct tb_regs_hop::initial_credits is 7 bits wide, but neither of the
values tb_tunnel_alloc_dma() picks from is bounded by that: the
dma_credits module parameter has no upper limit, and neither does the
host router's baMaxHI. A larger count survives until tb_path_activate()
copies it into the register and keeps the low bits, leaving the path on
a credit count nobody asked for.

Clamp it in tb_tunnel_alloc_dma(), the only entry point for DMA tunnels;
every step below it can only lower the value further. Carry the count in
an unsigned int while at it.

Assisted-by: Claude:claude-opus-5
Signed-off-by: Fan Ye <fy15309206903@gmail.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
F
Fan Ye committed
86feaba911f2f1a540a7695c8f4a98fd0fd60ac4
Parent: e8158c8
Committed by Mika Westerberg <mika.westerberg@linux.intel.com> on 8/11/2026, 3:57:59 AM