usb: typec: ucsi: fix gpio-based orientation detection
authorJohan Hovold <johan+linaro@kernel.org>
Fri, 8 Dec 2023 12:36:02 +0000 (13:36 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Dec 2023 13:00:28 +0000 (14:00 +0100)
Fix the recently added connector sanity check which was off by one and
prevented orientation notifications from being handled correctly for the
second port when using GPIOs to determine orientation.

Fixes: c6165ed2f425 ("usb: ucsi: glink: use the connector orientation GPIO to provide switch events")
Cc: stable <stable@kernel.org>
Cc: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20231208123603.29957-1-johan+linaro@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/ucsi/ucsi_glink.c

index db6e248f82083130a1dc578cc363a79c10789234..4853141cd10c85390492bef666ecae3c66d87ced 100644 (file)
@@ -228,7 +228,7 @@ static void pmic_glink_ucsi_notify(struct work_struct *work)
 
        con_num = UCSI_CCI_CONNECTOR(cci);
        if (con_num) {
-               if (con_num < PMIC_GLINK_MAX_PORTS &&
+               if (con_num <= PMIC_GLINK_MAX_PORTS &&
                    ucsi->port_orientation[con_num - 1]) {
                        int orientation = gpiod_get_value(ucsi->port_orientation[con_num - 1]);