[PATCH] usb: typec: ucsi: fix gpio-based orientation detection

Johan Hovold posted 1 patch 2 years ago
drivers/usb/typec/ucsi/ucsi_glink.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] usb: typec: ucsi: fix gpio-based orientation detection
Posted by Johan Hovold 2 years ago
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: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
---

I found this one through inspection when skimming the driver.

Johan


 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 db6e248f8208..4853141cd10c 100644
--- a/drivers/usb/typec/ucsi/ucsi_glink.c
+++ b/drivers/usb/typec/ucsi/ucsi_glink.c
@@ -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]);
 
-- 
2.41.0
Re: [PATCH] usb: typec: ucsi: fix gpio-based orientation detection
Posted by Heikki Krogerus 2 years ago
On Fri, Dec 08, 2023 at 01:36:02PM +0100, Johan Hovold wrote:
> 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: Neil Armstrong <neil.armstrong@linaro.org>
> Signed-off-by: Johan Hovold <johan+linaro@kernel.org>

Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>

> ---
> 
> I found this one through inspection when skimming the driver.
> 
> Johan
> 
> 
>  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 db6e248f8208..4853141cd10c 100644
> --- a/drivers/usb/typec/ucsi/ucsi_glink.c
> +++ b/drivers/usb/typec/ucsi/ucsi_glink.c
> @@ -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]);
>  
> -- 
> 2.41.0

-- 
heikki
Re: [PATCH] usb: typec: ucsi: fix gpio-based orientation detection
Posted by Dmitry Baryshkov 2 years ago
On Fri, 8 Dec 2023 at 14:37, Johan Hovold <johan+linaro@kernel.org> wrote:
>
> 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: Neil Armstrong <neil.armstrong@linaro.org>
> Signed-off-by: Johan Hovold <johan+linaro@kernel.org>

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>

> ---
>
> I found this one through inspection when skimming the driver.
>
> Johan
>
>
>  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 db6e248f8208..4853141cd10c 100644
> --- a/drivers/usb/typec/ucsi/ucsi_glink.c
> +++ b/drivers/usb/typec/ucsi/ucsi_glink.c
> @@ -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]);
>
> --
> 2.41.0
>


-- 
With best wishes
Dmitry