[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240625004607.3223757-1-jthies@google.com>
Date: Tue, 25 Jun 2024 00:46:07 +0000
From: Jameson Thies <jthies@...gle.com>
To: heikki.krogerus@...ux.intel.com, linux-usb@...r.kernel.org
Cc: jthies@...gle.com, jonathanh@...dia.com, bleung@...gle.com,
abhishekpandit@...omium.org, andersson@...nel.org,
dmitry.baryshkov@...aro.org, fabrice.gasnier@...s.st.com,
gregkh@...uxfoundation.org, hdegoede@...hat.com, neil.armstrong@...aro.org,
rajaram.regupathy@...el.com, saranya.gopal@...el.com,
linux-kernel@...r.kernel.org
Subject: [PATCH v1] usb: typec: ucsi: Only set number of plug altmodes after registration
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@...dia.com>
Signed-off-by: Jameson Thies <jthies@...gle.com>
---
drivers/usb/typec/ucsi/ucsi.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/usb/typec/ucsi/ucsi.c b/drivers/usb/typec/ucsi/ucsi.c
index 76c48d873b2a..77e46bf4a098 100644
--- a/drivers/usb/typec/ucsi/ucsi.c
+++ b/drivers/usb/typec/ucsi/ucsi.c
@@ -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;
base-commit: 819984a0dd3606b7c46fe156cd56a0dc0d604788
--
2.45.2.741.gdbec12cfda-goog
Powered by blists - more mailing lists