usb: typec: anx7411: Fix wrong pointer passed to PTR_ERR()
authorYang Yingliang <yangyingliang@huawei.com>
Thu, 21 Jul 2022 07:11:59 +0000 (15:11 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 27 Jul 2022 12:27:53 +0000 (14:27 +0200)
It should be 'ctx->typec.amode[i]' passed to PTR_ERR() when
typec_partner_register_altmode() failed.

Fixes: fe6d8a9c8e64 ("usb: typec: anx7411: Add Analogix PD ANX7411 support")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Link: https://lore.kernel.org/r/20220721071201.269344-1-yangyingliang@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/anx7411.c

index 18a6a6a..e16c2d5 100644 (file)
@@ -549,6 +549,7 @@ static int anx7411_typec_register_altmode(struct anx7411_data *ctx,
 {
        struct device *dev = &ctx->spi_client->dev;
        struct typec_altmode_desc desc;
+       int err;
        int i;
 
        desc.svid = svid;
@@ -569,8 +570,9 @@ static int anx7411_typec_register_altmode(struct anx7411_data *ctx,
                                                             &desc);
        if (IS_ERR(ctx->typec.amode[i])) {
                dev_err(dev, "failed to register altmode\n");
+               err = PTR_ERR(ctx->typec.amode[i]);
                ctx->typec.amode[i] = NULL;
-               return PTR_ERR(ctx->typec.amode);
+               return err;
        }
 
        return 0;