mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-09-22 09:34:56 +02:00
usb: typec: tcpm: Fix VDM type for Enter Mode commands
[ Upstream commit9cff680e47] VDO() second parameter is VDM type (bit 15): 1 for SVDM, 0 for UVDM. Using 'vdo ? 2 : 1' corrupts SVID low bit when vdo is non-NULL (2 << 15 = BIT(16)). Enter Mode is always SVDM, hardcode to 1. Fixes:8face9aa57("usb: typec: Add parameter for the VDO to typec_altmode_enter()") Cc: stable <stable@kernel.org> Signed-off-by: Andy Yan <andyshrk@163.com> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Link: https://patch.msgid.link/20260604105059.18750-1-andyshrk@163.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
f2a6abc670
commit
f37d00b9d2
@@ -2237,7 +2237,7 @@ static int tcpm_altmode_enter(struct typec_altmode *altmode, u32 *vdo)
|
||||
if (svdm_version < 0)
|
||||
return svdm_version;
|
||||
|
||||
header = VDO(altmode->svid, vdo ? 2 : 1, svdm_version, CMD_ENTER_MODE);
|
||||
header = VDO(altmode->svid, 1, svdm_version, CMD_ENTER_MODE);
|
||||
header |= VDO_OPOS(altmode->mode);
|
||||
|
||||
tcpm_queue_vdm_unlocked(port, header, vdo, vdo ? 1 : 0);
|
||||
|
||||
Reference in New Issue
Block a user