Message ID | 20241109-ucsi-glue-fixes-v2-1-8b21ff4f9fbe@linaro.org |
---|---|
State | New |
Headers | show |
Series | usb: typec: ucsi: glink: fix and improve orientation handling | expand |
On Sat, Nov 09, 2024 at 02:04:14AM +0200, Dmitry Baryshkov wrote: > UCSI connector's indices start from 1 up to 3, PMIC_GLINK_MAX_PORTS. > Correct the condition in the pmic_glink_ucsi_connector_status() > callback, fixing Type-C orientation reporting for the third USB-C > connector. > > Fixes: 76716fd5bf09 ("usb: typec: ucsi: glink: move GPIO reading into connector_status callback") > Cc: stable@vger.kernel.org > Reported-by: Abel Vesa <abel.vesa@linaro.org> > Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> > Reviewed-by: Johan Hovold <johan+linaro@kernel.org> > Tested-by: Johan Hovold <johan+linaro@kernel.org> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> > --- > drivers/usb/typec/ucsi/ucsi_glink.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/typec/ucsi/ucsi_glink.c b/drivers/usb/typec/ucsi/ucsi_glink.c > index 3e4d88ab338e50d4265df15fc960907c36675282..2e12758000a7d2d62f6e0b273cb29eafa631122c 100644 > --- a/drivers/usb/typec/ucsi/ucsi_glink.c > +++ b/drivers/usb/typec/ucsi/ucsi_glink.c > @@ -185,7 +185,7 @@ static void pmic_glink_ucsi_connector_status(struct ucsi_connector *con) > struct pmic_glink_ucsi *ucsi = ucsi_get_drvdata(con->ucsi); > int orientation; > > - if (con->num >= PMIC_GLINK_MAX_PORTS || > + if (con->num > PMIC_GLINK_MAX_PORTS || > !ucsi->port_orientation[con->num - 1]) > return; > > > -- > 2.39.5
diff --git a/drivers/usb/typec/ucsi/ucsi_glink.c b/drivers/usb/typec/ucsi/ucsi_glink.c index 3e4d88ab338e50d4265df15fc960907c36675282..2e12758000a7d2d62f6e0b273cb29eafa631122c 100644 --- a/drivers/usb/typec/ucsi/ucsi_glink.c +++ b/drivers/usb/typec/ucsi/ucsi_glink.c @@ -185,7 +185,7 @@ static void pmic_glink_ucsi_connector_status(struct ucsi_connector *con) struct pmic_glink_ucsi *ucsi = ucsi_get_drvdata(con->ucsi); int orientation; - if (con->num >= PMIC_GLINK_MAX_PORTS || + if (con->num > PMIC_GLINK_MAX_PORTS || !ucsi->port_orientation[con->num - 1]) return;