Re: [PATCH 2/2] usb: typec: tcpm: Error handling for tcpm_register_partner_altmodes

From: Guenter Roeck
Date: Tue Jul 14 2020 - 02:49:12 EST


On 7/13/20 8:34 PM, Kyle Tso wrote:
> typec_partner_register_altmode returns ERR_PTR. Reset the pointer
> altmode to NULL on failure.
>
> Signed-off-by: Kyle Tso <kyletso@xxxxxxxxxx>

Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>

> ---
> drivers/usb/typec/tcpm/tcpm.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/typec/tcpm/tcpm.c b/drivers/usb/typec/tcpm/tcpm.c
> index 82b19ebd7838..a6d4b03ec250 100644
> --- a/drivers/usb/typec/tcpm/tcpm.c
> +++ b/drivers/usb/typec/tcpm/tcpm.c
> @@ -1061,9 +1061,11 @@ static void tcpm_register_partner_altmodes(struct tcpm_port *port)
> for (i = 0; i < modep->altmodes; i++) {
> altmode = typec_partner_register_altmode(port->partner,
> &modep->altmode_desc[i]);
> - if (!altmode)
> + if (IS_ERR(altmode)) {
> tcpm_log(port, "Failed to register partner SVID 0x%04x",
> modep->altmode_desc[i].svid);
> + altmode = NULL;
> + }
> port->partner_altmode[i] = altmode;
> }
> }
>