From: Mika Westerberg Date: Thu, 18 Nov 2021 07:06:45 +0000 (+0200) Subject: thunderbolt: Do not allow subtracting more NFC credits than configured X-Git-Tag: v6.1-rc5~2245^2~16^2~11 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6cb27a04fb779717c4a3d20233b93596885838cf;p=platform%2Fkernel%2Flinux-starfive.git thunderbolt: Do not allow subtracting more NFC credits than configured This might happen if the boot firmware uses different amount of NFC credits than what the router suggests, or we are dealing with pre-USB4 device. Signed-off-by: Mika Westerberg --- diff --git a/drivers/thunderbolt/switch.c b/drivers/thunderbolt/switch.c index 3014146..463cfdc 100644 --- a/drivers/thunderbolt/switch.c +++ b/drivers/thunderbolt/switch.c @@ -623,6 +623,9 @@ int tb_port_add_nfc_credits(struct tb_port *port, int credits) return 0; nfc_credits = port->config.nfc_credits & ADP_CS_4_NFC_BUFFERS_MASK; + if (credits < 0) + credits = max_t(int, -nfc_credits, credits); + nfc_credits += credits; tb_port_dbg(port, "adding %d NFC credits to %lu", credits,