usb: typec: ucsi: displayport: Current CAM OOB index fixup
Subsystems (3)
PATCH v2 1/1 usb: typec: ucsi: displayport: Current CAM OOB index fixup
Update ucsi_displayport_enter() to return invalid error when the PPM reports an current alternate mode greater than or equal to UCSI_MAX_ALTMODES. While here, remove 0xff current cam assignment on failed GET_CURRENT_CAM response.
Fixes 04cec690b1fd ("usb: typec: ucsi: displayport: Fix OOB altmode array index")
Reviewed-by Heikki Krogerus <[email protected]>
Reviewed-by Benson Leung <[email protected]>
Signed-off-by Jameson Thies <[email protected]>
---
Changes in v2
- added fixes tag and CC stable
Original patch didn't incorporate reviewer feedback. This is a fixup to be amended to:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=04cec690b1fd9d1c4c314b91a10d8c68a3acfe18
drivers/usb/typec/ucsi/displayport.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
drivers/usb/typec/ucsi/displayport.c +6 -3
@@ -71,11 +71,14 @@ static int ucsi_displayport_enter(struct typec_altmode *alt, u32 *vdo)if (ret <0 ) {if (ucsi->version >0x0100 ) goto err_unlock; - cur =0xff ; } -if (cur <UCSI_MAX_ALTMODES ) { - ret = dp->con->port_altmode[cur] == alt ?0 : -EBUSY ; +if (cur !=0xff ) { +if (cur <UCSI_MAX_ALTMODES ) + ret = dp->con->port_altmode[cur] == alt ?0 : -EBUSY ; +else + ret = -EINVAL ; + goto err_unlock; }
base-commit: 600334ef2f29b975485ce062a81fcfa00bd3ef45
Signature · 1 line
2.55.0.1082.g2b9226bbc0-goog