2022-11-14 17:24:19

by Sven Peter

[permalink] [raw]
Subject: [PATCH] usb: typec: Check for ops->exit instead of ops->enter in altmode_exit

typec_altmode_exit checks if ops->enter is not NULL but then calls
ops->exit a few lines below. Fix that and check for the function
pointer it's about to call instead.

Fixes: 8a37d87d72f0 ("usb: typec: Bus type for alternate modes")
Signed-off-by: Sven Peter <[email protected]>
---
drivers/usb/typec/bus.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/typec/bus.c b/drivers/usb/typec/bus.c
index 26ea2fdec17d..31c2a3130cad 100644
--- a/drivers/usb/typec/bus.c
+++ b/drivers/usb/typec/bus.c
@@ -134,7 +134,7 @@ int typec_altmode_exit(struct typec_altmode *adev)
if (!adev || !adev->active)
return 0;

- if (!pdev->ops || !pdev->ops->enter)
+ if (!pdev->ops || !pdev->ops->exit)
return -EOPNOTSUPP;

/* Moving to USB Safe State */
--
2.25.1



2022-11-16 12:21:26

by Heikki Krogerus

[permalink] [raw]
Subject: Re: [PATCH] usb: typec: Check for ops->exit instead of ops->enter in altmode_exit

On Mon, Nov 14, 2022 at 05:59:24PM +0100, Sven Peter wrote:
> typec_altmode_exit checks if ops->enter is not NULL but then calls
> ops->exit a few lines below. Fix that and check for the function
> pointer it's about to call instead.
>
> Fixes: 8a37d87d72f0 ("usb: typec: Bus type for alternate modes")
> Signed-off-by: Sven Peter <[email protected]>

No Cc: stable@...?

Reviewed-by: Heikki Krogerus <[email protected]>

> ---
> drivers/usb/typec/bus.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/typec/bus.c b/drivers/usb/typec/bus.c
> index 26ea2fdec17d..31c2a3130cad 100644
> --- a/drivers/usb/typec/bus.c
> +++ b/drivers/usb/typec/bus.c
> @@ -134,7 +134,7 @@ int typec_altmode_exit(struct typec_altmode *adev)
> if (!adev || !adev->active)
> return 0;
>
> - if (!pdev->ops || !pdev->ops->enter)
> + if (!pdev->ops || !pdev->ops->exit)
> return -EOPNOTSUPP;
>
> /* Moving to USB Safe State */

thanks,

--
heikki