soc: qcom: pmic_glink_altmode: fix port sanity check
[platform/kernel/linux-rpi.git] / drivers / soc / qcom / pmic_glink_altmode.c
index 6f8b2f7..9b0000b 100644 (file)
@@ -285,7 +285,7 @@ static void pmic_glink_altmode_sc8180xp_notify(struct pmic_glink_altmode *altmod
 
        svid = mux == 2 ? USB_TYPEC_DP_SID : 0;
 
-       if (!altmode->ports[port].altmode) {
+       if (port >= ARRAY_SIZE(altmode->ports) || !altmode->ports[port].altmode) {
                dev_dbg(altmode->dev, "notification on undefined port %d\n", port);
                return;
        }
@@ -328,7 +328,7 @@ static void pmic_glink_altmode_sc8280xp_notify(struct pmic_glink_altmode *altmod
        hpd_state = FIELD_GET(SC8280XP_HPD_STATE_MASK, notify->payload[8]);
        hpd_irq = FIELD_GET(SC8280XP_HPD_IRQ_MASK, notify->payload[8]);
 
-       if (!altmode->ports[port].altmode) {
+       if (port >= ARRAY_SIZE(altmode->ports) || !altmode->ports[port].altmode) {
                dev_dbg(altmode->dev, "notification on undefined port %d\n", port);
                return;
        }