]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
thunderbolt: Fix bit masking in tb_dp_port_set_hops()
authorAlok Tiwari <alok.a.tiwari@oracle.com>
Sun, 22 Jun 2025 17:17:02 +0000 (10:17 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 24 Jul 2025 06:53:11 +0000 (08:53 +0200)
commit 2cdde91c14ec358087f43287513946d493aef940 upstream.

The tb_dp_port_set_hops() function was incorrectly clearing
ADP_DP_CS_1_AUX_RX_HOPID_MASK twice. According to the function's
purpose, it should clear both TX and RX AUX HopID fields.  Replace the
first instance with ADP_DP_CS_1_AUX_TX_HOPID_MASK to ensure proper
configuration of both AUX directions.

Fixes: 98176380cbe5 ("thunderbolt: Convert DP adapter register names to follow the USB4 spec")
Cc: stable@vger.kernel.org
Signed-off-by: Alok Tiwari <alok.a.tiwari@oracle.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/thunderbolt/switch.c

index 26ed62b86a0957c3fe41593ea97ac1b788e19004..df83383800a8ef349a22dc6d9b7ce584c82106c5 100644 (file)
@@ -1465,7 +1465,7 @@ int tb_dp_port_set_hops(struct tb_port *port, unsigned int video,
                return ret;
 
        data[0] &= ~ADP_DP_CS_0_VIDEO_HOPID_MASK;
-       data[1] &= ~ADP_DP_CS_1_AUX_RX_HOPID_MASK;
+       data[1] &= ~ADP_DP_CS_1_AUX_TX_HOPID_MASK;
        data[1] &= ~ADP_DP_CS_1_AUX_RX_HOPID_MASK;
 
        data[0] |= (video << ADP_DP_CS_0_VIDEO_HOPID_SHIFT) &