[PATCH v2 4/6][SRU][J][OEM-5.14] UBUNTU: SAUCE: thunderbolt: Do not allow subtracting more NFC credits than configured
AceLan Kao
acelan.kao at canonical.com
Mon Dec 20 02:54:05 UTC 2021
From: Mika Westerberg <mika.westerberg at linux.intel.com>
BugLink: https://bugs.launchpad.net/bugs/1955016
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 <mika.westerberg at linux.intel.com>
(cherry picked from
https://patchwork.kernel.org/project/linux-usb/patch/20211125073733.74902-5-mika.westerberg@linux.intel.com/)
Signed-off-by: Chia-Lin Kao (AceLan) <acelan.kao at canonical.com>
---
drivers/thunderbolt/switch.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/thunderbolt/switch.c b/drivers/thunderbolt/switch.c
index 0acb2f3fe2661..f384cda76e862 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,
--
2.25.1
More information about the kernel-team
mailing list