]> 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:56:21 +0000 (08:56 +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 95a2bc10080e1c1dcc01aaec7b63ab90f917d214..60818c1bec483181fb31b06d6d44a07adfdfcb7a 100644 (file)
@@ -1450,7 +1450,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) &