@@ -1180,13 +1180,13 @@ static int ucsi_check_cable(struct ucsi_connector *con)
ret = ucsi_register_altmodes(con, UCSI_RECIPIENT_SOP_P);
if (ret < 0)
return ret;
- }
- if (con->plug_altmode[0]) {
- num_plug_am = ucsi_get_num_altmode(con->plug_altmode);
- typec_plug_set_num_altmodes(con->plug, num_plug_am);
- } else {
- typec_plug_set_num_altmodes(con->plug, 0);
+ if (con->plug_altmode[0]) {
+ num_plug_am = ucsi_get_num_altmode(con->plug_altmode);
+ typec_plug_set_num_altmodes(con->plug, num_plug_am);
+ } else {
+ typec_plug_set_num_altmodes(con->plug, 0);
+ }
}
return 0;
Move the setting of the plug's number of alternate modes into the same condition as the plug's registration to prevent dereferencing the connector's plug pointer while it is null. Fixes: c313a44ac9cd ("usb: typec: ucsi: Always set number of alternate modes") Suggested-by: Jon Hunter <jonathanh@nvidia.com> Signed-off-by: Jameson Thies <jthies@google.com> --- drivers/usb/typec/ucsi/ucsi.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) base-commit: 819984a0dd3606b7c46fe156cd56a0dc0d604788