linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH -next 1/3] usb: typec: anx7411: Fix wrong pointer passed to PTR_ERR()
@ 2022-07-21  7:11 Yang Yingliang
  2022-07-21  7:12 ` [PATCH -next 2/3] usb: typec: anx7411: Fix return value check in anx7411_register_i2c_dummy_clients() Yang Yingliang
  2022-07-21  7:12 ` [PATCH -next 3/3] usb: typec: anx7411: Fix error return code in anx7411_i2c_probe() Yang Yingliang
  0 siblings, 2 replies; 3+ messages in thread
From: Yang Yingliang @ 2022-07-21  7:11 UTC (permalink / raw)
  To: linux-kernel, linux-usb; +Cc: heikki.krogerus, gregkh

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>
---
 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 b990376991f8..1ffab17a9b17 100644
--- a/drivers/usb/typec/anx7411.c
+++ b/drivers/usb/typec/anx7411.c
@@ -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;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH -next 2/3] usb: typec: anx7411: Fix return value check in anx7411_register_i2c_dummy_clients()
  2022-07-21  7:11 [PATCH -next 1/3] usb: typec: anx7411: Fix wrong pointer passed to PTR_ERR() Yang Yingliang
@ 2022-07-21  7:12 ` Yang Yingliang
  2022-07-21  7:12 ` [PATCH -next 3/3] usb: typec: anx7411: Fix error return code in anx7411_i2c_probe() Yang Yingliang
  1 sibling, 0 replies; 3+ messages in thread
From: Yang Yingliang @ 2022-07-21  7:12 UTC (permalink / raw)
  To: linux-kernel, linux-usb; +Cc: heikki.krogerus, gregkh

If i2c_new_dummy_device() fails, it never return NULL pointer, replace
NULL test with IS_ERR() to fix it.

Fixes: fe6d8a9c8e64 ("usb: typec: anx7411: Add Analogix PD ANX7411 support")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
 drivers/usb/typec/anx7411.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/typec/anx7411.c b/drivers/usb/typec/anx7411.c
index 1ffab17a9b17..4816f5d24ac3 100644
--- a/drivers/usb/typec/anx7411.c
+++ b/drivers/usb/typec/anx7411.c
@@ -999,7 +999,7 @@ static int anx7411_register_i2c_dummy_clients(struct anx7411_data *ctx,
 			spi_addr = anx7411_i2c_addr[i].spi_address >> 1;
 			ctx->spi_client = i2c_new_dummy_device(client->adapter,
 							       spi_addr);
-			if (ctx->spi_client)
+			if (!IS_ERR(ctx->spi_client))
 				return 0;
 		}
 	}
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH -next 3/3] usb: typec: anx7411: Fix error return code in anx7411_i2c_probe()
  2022-07-21  7:11 [PATCH -next 1/3] usb: typec: anx7411: Fix wrong pointer passed to PTR_ERR() Yang Yingliang
  2022-07-21  7:12 ` [PATCH -next 2/3] usb: typec: anx7411: Fix return value check in anx7411_register_i2c_dummy_clients() Yang Yingliang
@ 2022-07-21  7:12 ` Yang Yingliang
  1 sibling, 0 replies; 3+ messages in thread
From: Yang Yingliang @ 2022-07-21  7:12 UTC (permalink / raw)
  To: linux-kernel, linux-usb; +Cc: heikki.krogerus, gregkh

Add mising error return code when failed to get interrupt or failed
to register psy.

Fixes: fe6d8a9c8e64 ("usb: typec: anx7411: Add Analogix PD ANX7411 support")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
 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 4816f5d24ac3..c4041fd52be9 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 = -EINVAL;
 		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


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-07-21  7:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-21  7:11 [PATCH -next 1/3] usb: typec: anx7411: Fix wrong pointer passed to PTR_ERR() Yang Yingliang
2022-07-21  7:12 ` [PATCH -next 2/3] usb: typec: anx7411: Fix return value check in anx7411_register_i2c_dummy_clients() Yang Yingliang
2022-07-21  7:12 ` [PATCH -next 3/3] usb: typec: anx7411: Fix error return code in anx7411_i2c_probe() Yang Yingliang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).