2022-07-22 08:35:48

by Xin Ji

[permalink] [raw]
Subject: [PATCH 1/3] usb: typec: anx7411: fix passing zero to 'PTR_ERR'

Fix anx7411_register_partner() warn: passing zero to 'PTR_ERR'

Fixes: fe6d8a9c8e64 ("usb: typec: anx7411: Add Analogix PD ANX7411 support")
Signed-off-by: Xin Ji <[email protected]>
---
drivers/usb/typec/anx7411.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/usb/typec/anx7411.c b/drivers/usb/typec/anx7411.c
index b990376991f8..7b45d7440a9d 100644
--- a/drivers/usb/typec/anx7411.c
+++ b/drivers/usb/typec/anx7411.c
@@ -374,6 +374,7 @@ static int anx7411_register_partner(struct anx7411_data *ctx,
int pd, int accessory)
{
struct typec_partner_desc desc;
+ struct typec_partner *partner;

if (ctx->typec.partner)
return 0;
@@ -381,11 +382,11 @@ static int anx7411_register_partner(struct anx7411_data *ctx,
desc.usb_pd = pd;
desc.accessory = accessory;
desc.identity = NULL;
- ctx->typec.partner = typec_register_partner(ctx->typec.port, &desc);
- if (IS_ERR(ctx->typec.partner)) {
- ctx->typec.partner = NULL;
- return PTR_ERR(ctx->typec.partner);
- }
+ partner = typec_register_partner(ctx->typec.port, &desc);
+ if (IS_ERR(partner))
+ return PTR_ERR(partner);
+
+ ctx->typec.partner = partner;

return 0;
}
--
2.25.1


2022-07-22 08:37:06

by Xin Ji

[permalink] [raw]
Subject: [PATCH 3/3] usb: typec: anx7411: fix missing error code 'ret'

Fix anx7411_i2c_probe() warn: missing error code 'ret'.

Fixes: fe6d8a9c8e64 ("usb: typec: anx7411: Add Analogix PD ANX7411 support")
Signed-off-by: Xin Ji <[email protected]>
---
drivers/usb/typec/anx7411.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/typec/anx7411.c b/drivers/usb/typec/anx7411.c
index dc86b6704cbd..525022c24e05 100644
--- a/drivers/usb/typec/anx7411.c
+++ b/drivers/usb/typec/anx7411.c
@@ -1483,12 +1483,14 @@ static int anx7411_i2c_probe(struct i2c_client *client,

if (!plat->intp_irq) {
dev_err(dev, "fail to get interrupt IRQ\n");
+ ret = -ENODEV;
goto free_typec_port;
}

plat->dev = dev;
plat->psy_online = ANX7411_PSY_OFFLINE;
- if (anx7411_psy_register(plat)) {
+ ret = anx7411_psy_register(plat);
+ if (ret) {
dev_err(dev, "register psy\n");
goto free_typec_port;
}
--
2.25.1

2022-07-22 08:41:09

by Xin Ji

[permalink] [raw]
Subject: [PATCH 2/3] usb: typec: anx7411: fix passing a valid pointer to 'PTR_ERR'

Fix anx7411_typec_register_altmode() warn: passing a valid pointer to
'PTR_ERR'.

Fixes: fe6d8a9c8e64 ("usb: typec: anx7411: Add Analogix PD ANX7411 support")
Signed-off-by: Xin Ji <[email protected]>
---
drivers/usb/typec/anx7411.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/usb/typec/anx7411.c b/drivers/usb/typec/anx7411.c
index 7b45d7440a9d..dc86b6704cbd 100644
--- a/drivers/usb/typec/anx7411.c
+++ b/drivers/usb/typec/anx7411.c
@@ -550,6 +550,7 @@ static int anx7411_typec_register_altmode(struct anx7411_data *ctx,
{
struct device *dev = &ctx->spi_client->dev;
struct typec_altmode_desc desc;
+ struct typec_altmode *alt;
int i;

desc.svid = svid;
@@ -566,14 +567,14 @@ static int anx7411_typec_register_altmode(struct anx7411_data *ctx,
return -ENOMEM;
}

- ctx->typec.amode[i] = typec_partner_register_altmode(ctx->typec.partner,
- &desc);
- if (IS_ERR(ctx->typec.amode[i])) {
+ alt = typec_partner_register_altmode(ctx->typec.partner, &desc);
+ if (IS_ERR(alt)) {
dev_err(dev, "failed to register altmode\n");
- ctx->typec.amode[i] = NULL;
- return PTR_ERR(ctx->typec.amode);
+ return PTR_ERR(alt);
}

+ ctx->typec.amode[i] = alt;
+
return 0;
}

--
2.25.1

2022-07-27 12:43:17

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH 2/3] usb: typec: anx7411: fix passing a valid pointer to 'PTR_ERR'

On Fri, Jul 22, 2022 at 04:18:35PM +0800, Xin Ji wrote:
> Fix anx7411_typec_register_altmode() warn: passing a valid pointer to
> 'PTR_ERR'.
>
> Fixes: fe6d8a9c8e64 ("usb: typec: anx7411: Add Analogix PD ANX7411 support")
> Signed-off-by: Xin Ji <[email protected]>
> ---
> drivers/usb/typec/anx7411.c | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/usb/typec/anx7411.c b/drivers/usb/typec/anx7411.c
> index 7b45d7440a9d..dc86b6704cbd 100644
> --- a/drivers/usb/typec/anx7411.c
> +++ b/drivers/usb/typec/anx7411.c
> @@ -550,6 +550,7 @@ static int anx7411_typec_register_altmode(struct anx7411_data *ctx,
> {
> struct device *dev = &ctx->spi_client->dev;
> struct typec_altmode_desc desc;
> + struct typec_altmode *alt;
> int i;
>
> desc.svid = svid;
> @@ -566,14 +567,14 @@ static int anx7411_typec_register_altmode(struct anx7411_data *ctx,
> return -ENOMEM;
> }
>
> - ctx->typec.amode[i] = typec_partner_register_altmode(ctx->typec.partner,
> - &desc);
> - if (IS_ERR(ctx->typec.amode[i])) {
> + alt = typec_partner_register_altmode(ctx->typec.partner, &desc);
> + if (IS_ERR(alt)) {
> dev_err(dev, "failed to register altmode\n");
> - ctx->typec.amode[i] = NULL;
> - return PTR_ERR(ctx->typec.amode);
> + return PTR_ERR(alt);
> }
>
> + ctx->typec.amode[i] = alt;
> +
> return 0;
> }
>
> --
> 2.25.1
>

Does not apply to my tree :(