]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
thunderbolt: Do not program NFC buffers for USB4 router protocol adapters
authorMika Westerberg <mika.westerberg@linux.intel.com>
Tue, 18 Aug 2020 14:10:00 +0000 (17:10 +0300)
committerMika Westerberg <mika.westerberg@linux.intel.com>
Thu, 3 Sep 2020 09:06:40 +0000 (12:06 +0300)
USB4 spec says that NFC buffers field is not used for protocol adapters,
only for lane adapters so make tb_port_add_nfc_credits() skip non-lane
adapters in order to follow the spec.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
drivers/thunderbolt/switch.c

index 99effd6be3c18eb80e96cf91acfcfc3d6d87408c..7ffb3b00b54f76528117af15b03e675e4aa56bf0 100644 (file)
@@ -601,6 +601,13 @@ int tb_port_add_nfc_credits(struct tb_port *port, int credits)
        if (credits == 0 || port->sw->is_unplugged)
                return 0;
 
+       /*
+        * USB4 restricts programming NFC buffers to lane adapters only
+        * so skip other ports.
+        */
+       if (tb_switch_is_usb4(port->sw) && !tb_port_is_null(port))
+               return 0;
+
        nfc_credits = port->config.nfc_credits & ADP_CS_4_NFC_BUFFERS_MASK;
        nfc_credits += credits;