summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMohammad Rahimi <rahimi.mhmmd@gmail.com>2024-01-27 11:26:28 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-02-23 09:51:52 +0100
commit1fd4b2aff3a2521554f480950c45da0f45650d02 (patch)
treedd31350fdbeb136e34f4bc5883d1aa95d4e52800
parentec02586a204868a98d6f384c6357735ad48bcc1d (diff)
downloadlinux-stable-1fd4b2aff3a2521554f480950c45da0f45650d02.tar.gz
linux-stable-1fd4b2aff3a2521554f480950c45da0f45650d02.tar.bz2
linux-stable-1fd4b2aff3a2521554f480950c45da0f45650d02.zip
thunderbolt: Fix setting the CNS bit in ROUTER_CS_5
commit ec4d82f855ce332de26fe080892483de98cc1a19 upstream. The bit 23, CM TBT3 Not Supported (CNS), in ROUTER_CS_5 indicates whether a USB4 Connection Manager is TBT3-Compatible and should be: 0b for TBT3-Compatible 1b for Not TBT3-Compatible Fixes: b04079837b20 ("thunderbolt: Add initial support for USB4") Cc: stable@vger.kernel.org Signed-off-by: Mohammad Rahimi <rahimi.mhmmd@gmail.com> Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/thunderbolt/tb_regs.h2
-rw-r--r--drivers/thunderbolt/usb4.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/thunderbolt/tb_regs.h b/drivers/thunderbolt/tb_regs.h
index 87e4795275fe..6f798f6a2b84 100644
--- a/drivers/thunderbolt/tb_regs.h
+++ b/drivers/thunderbolt/tb_regs.h
@@ -203,7 +203,7 @@ struct tb_regs_switch_header {
#define ROUTER_CS_5_WOP BIT(1)
#define ROUTER_CS_5_WOU BIT(2)
#define ROUTER_CS_5_WOD BIT(3)
-#define ROUTER_CS_5_C3S BIT(23)
+#define ROUTER_CS_5_CNS BIT(23)
#define ROUTER_CS_5_PTO BIT(24)
#define ROUTER_CS_5_UTO BIT(25)
#define ROUTER_CS_5_HCO BIT(26)
diff --git a/drivers/thunderbolt/usb4.c b/drivers/thunderbolt/usb4.c
index f8f0d24ff6e4..1515eff8cc3e 100644
--- a/drivers/thunderbolt/usb4.c
+++ b/drivers/thunderbolt/usb4.c
@@ -290,7 +290,7 @@ int usb4_switch_setup(struct tb_switch *sw)
}
/* TBT3 supported by the CM */
- val |= ROUTER_CS_5_C3S;
+ val &= ~ROUTER_CS_5_CNS;
return tb_sw_write(sw, &val, TB_CFG_SWITCH, ROUTER_CS_5, 1);
}