Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

usb: typec: ucsi: fix gpio-based orientation detection

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>

authored by

Johan Hovold and committed by
Greg Kroah-Hartman
c994cb59 aef05e34

+1 -1
+1 -1
drivers/usb/typec/ucsi/ucsi_glink.c
··· 228 228 229 229 con_num = UCSI_CCI_CONNECTOR(cci); 230 230 if (con_num) { 231 - if (con_num < PMIC_GLINK_MAX_PORTS && 231 + if (con_num <= PMIC_GLINK_MAX_PORTS && 232 232 ucsi->port_orientation[con_num - 1]) { 233 233 int orientation = gpiod_get_value(ucsi->port_orientation[con_num - 1]); 234 234