netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2 v3] net: ethernet: ti: fix some return value check
@ 2020-05-20  3:41 Wei Yongjun
  2020-05-20  3:41 ` [PATCH 1/2 v3] net: ethernet: ti: fix some return value check of cpsw_ale_create() Wei Yongjun
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Wei Yongjun @ 2020-05-20  3:41 UTC (permalink / raw)
  To: netdev, Grygorii Strashko, Christophe JAILLET, Colin Ian King,
	Jakub Kicinski
  Cc: Wei Yongjun, kernel-janitors

This patchset convert cpsw_ale_create() to return PTR_ERR() only, and
changed all the caller to check IS_ERR() instead of NULL.

Since v2:
1) rebased on net.git, as Jakub's suggest
2) split am65-cpsw-nuss.c changes, as Grygorii's suggest


Wei Yongjun (2):
  net: ethernet: ti: fix some return value check of cpsw_ale_create()
  net: ethernet: ti: am65-cpsw-nuss: fix error handling of
    am65_cpsw_nuss_probe

 drivers/net/ethernet/ti/am65-cpsw-nuss.c | 3 ++-
 drivers/net/ethernet/ti/cpsw_ale.c       | 2 +-
 drivers/net/ethernet/ti/cpsw_priv.c      | 4 ++--
 drivers/net/ethernet/ti/netcp_ethss.c    | 4 ++--
 4 files changed, 7 insertions(+), 6 deletions(-)

-- 
2.25.1


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

* [PATCH 1/2 v3] net: ethernet: ti: fix some return value check of cpsw_ale_create()
  2020-05-20  3:41 [PATCH 0/2 v3] net: ethernet: ti: fix some return value check Wei Yongjun
@ 2020-05-20  3:41 ` Wei Yongjun
  2020-05-20  7:18   ` AW: " Walter Harms
  2020-05-20  3:41 ` [PATCH 2/2 v3] net: ethernet: ti: am65-cpsw-nuss: fix error handling of am65_cpsw_nuss_probe Wei Yongjun
  2020-05-22  0:14 ` [PATCH 0/2 v3] net: ethernet: ti: fix some return value check David Miller
  2 siblings, 1 reply; 5+ messages in thread
From: Wei Yongjun @ 2020-05-20  3:41 UTC (permalink / raw)
  To: netdev, Grygorii Strashko, Christophe JAILLET, Colin Ian King,
	Jakub Kicinski
  Cc: Wei Yongjun, kernel-janitors, Hulk Robot

cpsw_ale_create() can return both NULL and PTR_ERR(), but all of
the caller only check NULL for error handling. This patch convert
it to only return PTR_ERR() in all error cases, and the caller using
IS_ERR() instead of NULL test.

Fixes: 4b41d3436796 ("net: ethernet: ti: cpsw: allow untagged traffic on host port")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
---
 drivers/net/ethernet/ti/cpsw_ale.c    | 2 +-
 drivers/net/ethernet/ti/cpsw_priv.c   | 4 ++--
 drivers/net/ethernet/ti/netcp_ethss.c | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/ti/cpsw_ale.c b/drivers/net/ethernet/ti/cpsw_ale.c
index 0374e6936091..8dc6be11b2ff 100644
--- a/drivers/net/ethernet/ti/cpsw_ale.c
+++ b/drivers/net/ethernet/ti/cpsw_ale.c
@@ -955,7 +955,7 @@ struct cpsw_ale *cpsw_ale_create(struct cpsw_ale_params *params)
 
 	ale = devm_kzalloc(params->dev, sizeof(*ale), GFP_KERNEL);
 	if (!ale)
-		return NULL;
+		return ERR_PTR(-ENOMEM);
 
 	ale->p0_untag_vid_mask =
 		devm_kmalloc_array(params->dev, BITS_TO_LONGS(VLAN_N_VID),
diff --git a/drivers/net/ethernet/ti/cpsw_priv.c b/drivers/net/ethernet/ti/cpsw_priv.c
index 97a058ca60ac..d0b6c418a870 100644
--- a/drivers/net/ethernet/ti/cpsw_priv.c
+++ b/drivers/net/ethernet/ti/cpsw_priv.c
@@ -490,9 +490,9 @@ int cpsw_init_common(struct cpsw_common *cpsw, void __iomem *ss_regs,
 	ale_params.ale_ports		= CPSW_ALE_PORTS_NUM;
 
 	cpsw->ale = cpsw_ale_create(&ale_params);
-	if (!cpsw->ale) {
+	if (IS_ERR(cpsw->ale)) {
 		dev_err(dev, "error initializing ale engine\n");
-		return -ENODEV;
+		return PTR_ERR(cpsw->ale);
 	}
 
 	dma_params.dev		= dev;
diff --git a/drivers/net/ethernet/ti/netcp_ethss.c b/drivers/net/ethernet/ti/netcp_ethss.c
index fb36115e9c51..fdbae734acce 100644
--- a/drivers/net/ethernet/ti/netcp_ethss.c
+++ b/drivers/net/ethernet/ti/netcp_ethss.c
@@ -3704,9 +3704,9 @@ static int gbe_probe(struct netcp_device *netcp_device, struct device *dev,
 		ale_params.nu_switch_ale = true;
 	}
 	gbe_dev->ale = cpsw_ale_create(&ale_params);
-	if (!gbe_dev->ale) {
+	if (IS_ERR(gbe_dev->ale)) {
 		dev_err(gbe_dev->dev, "error initializing ale engine\n");
-		ret = -ENODEV;
+		ret = PTR_ERR(gbe_dev->ale);
 		goto free_sec_ports;
 	} else {
 		dev_dbg(gbe_dev->dev, "Created a gbe ale engine\n");
-- 
2.25.1


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

* [PATCH 2/2 v3] net: ethernet: ti: am65-cpsw-nuss: fix error handling of am65_cpsw_nuss_probe
  2020-05-20  3:41 [PATCH 0/2 v3] net: ethernet: ti: fix some return value check Wei Yongjun
  2020-05-20  3:41 ` [PATCH 1/2 v3] net: ethernet: ti: fix some return value check of cpsw_ale_create() Wei Yongjun
@ 2020-05-20  3:41 ` Wei Yongjun
  2020-05-22  0:14 ` [PATCH 0/2 v3] net: ethernet: ti: fix some return value check David Miller
  2 siblings, 0 replies; 5+ messages in thread
From: Wei Yongjun @ 2020-05-20  3:41 UTC (permalink / raw)
  To: netdev, Grygorii Strashko, Christophe JAILLET, Colin Ian King,
	Jakub Kicinski
  Cc: Wei Yongjun, kernel-janitors, Hulk Robot

Convert to using IS_ERR() instead of NULL test for cpsw_ale_create()
error handling. Also fix to return negative error code from this error
handling case instead of 0 in.

Fixes: 93a76530316a ("net: ethernet: ti: introduce am65x/j721e gigabit eth subsystem driver")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
---
 drivers/net/ethernet/ti/am65-cpsw-nuss.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/ti/am65-cpsw-nuss.c b/drivers/net/ethernet/ti/am65-cpsw-nuss.c
index 2517ffba8178..88f52a2f85b3 100644
--- a/drivers/net/ethernet/ti/am65-cpsw-nuss.c
+++ b/drivers/net/ethernet/ti/am65-cpsw-nuss.c
@@ -1895,8 +1895,9 @@ static int am65_cpsw_nuss_probe(struct platform_device *pdev)
 	ale_params.nu_switch_ale = true;
 
 	common->ale = cpsw_ale_create(&ale_params);
-	if (!common->ale) {
+	if (IS_ERR(common->ale)) {
 		dev_err(dev, "error initializing ale engine\n");
+		ret = PTR_ERR(common->ale);
 		goto err_of_clear;
 	}
 
-- 
2.25.1


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

* AW: [PATCH 1/2 v3] net: ethernet: ti: fix some return value check of cpsw_ale_create()
  2020-05-20  3:41 ` [PATCH 1/2 v3] net: ethernet: ti: fix some return value check of cpsw_ale_create() Wei Yongjun
@ 2020-05-20  7:18   ` Walter Harms
  0 siblings, 0 replies; 5+ messages in thread
From: Walter Harms @ 2020-05-20  7:18 UTC (permalink / raw)
  To: Wei Yongjun, netdev, Grygorii Strashko, Christophe JAILLET,
	Colin Ian King, Jakub Kicinski
  Cc: kernel-janitors, Hulk Robot

just a notice:

from my casual observation i noticed that most people expect
a function to return NULL on error (as seen here). So i would suggest
to return NULL and (if needed) the error code otherwise.

jm2c,
re
 wh
________________________________________
Von: kernel-janitors-owner@vger.kernel.org <kernel-janitors-owner@vger.kernel.org> im Auftrag von Wei Yongjun <weiyongjun1@huawei.com>
Gesendet: Mittwoch, 20. Mai 2020 05:41:15
An: netdev@vger.kernel.org; Grygorii Strashko; Christophe JAILLET; Colin Ian King; Jakub Kicinski
Cc: Wei Yongjun; kernel-janitors@vger.kernel.org; Hulk Robot
Betreff: [PATCH 1/2 v3] net: ethernet: ti: fix some return value check of cpsw_ale_create()

cpsw_ale_create() can return both NULL and PTR_ERR(), but all of
the caller only check NULL for error handling. This patch convert
it to only return PTR_ERR() in all error cases, and the caller using
IS_ERR() instead of NULL test.

Fixes: 4b41d3436796 ("net: ethernet: ti: cpsw: allow untagged traffic on host port")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
---
 drivers/net/ethernet/ti/cpsw_ale.c    | 2 +-
 drivers/net/ethernet/ti/cpsw_priv.c   | 4 ++--
 drivers/net/ethernet/ti/netcp_ethss.c | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/ti/cpsw_ale.c b/drivers/net/ethernet/ti/cpsw_ale.c
index 0374e6936091..8dc6be11b2ff 100644
--- a/drivers/net/ethernet/ti/cpsw_ale.c
+++ b/drivers/net/ethernet/ti/cpsw_ale.c
@@ -955,7 +955,7 @@ struct cpsw_ale *cpsw_ale_create(struct cpsw_ale_params *params)

        ale = devm_kzalloc(params->dev, sizeof(*ale), GFP_KERNEL);
        if (!ale)
-               return NULL;
+               return ERR_PTR(-ENOMEM);

        ale->p0_untag_vid_mask =
                devm_kmalloc_array(params->dev, BITS_TO_LONGS(VLAN_N_VID),
diff --git a/drivers/net/ethernet/ti/cpsw_priv.c b/drivers/net/ethernet/ti/cpsw_priv.c
index 97a058ca60ac..d0b6c418a870 100644
--- a/drivers/net/ethernet/ti/cpsw_priv.c
+++ b/drivers/net/ethernet/ti/cpsw_priv.c
@@ -490,9 +490,9 @@ int cpsw_init_common(struct cpsw_common *cpsw, void __iomem *ss_regs,
        ale_params.ale_ports            = CPSW_ALE_PORTS_NUM;

        cpsw->ale = cpsw_ale_create(&ale_params);
-       if (!cpsw->ale) {
+       if (IS_ERR(cpsw->ale)) {
                dev_err(dev, "error initializing ale engine\n");
-               return -ENODEV;
+               return PTR_ERR(cpsw->ale);
        }

        dma_params.dev          = dev;
diff --git a/drivers/net/ethernet/ti/netcp_ethss.c b/drivers/net/ethernet/ti/netcp_ethss.c
index fb36115e9c51..fdbae734acce 100644
--- a/drivers/net/ethernet/ti/netcp_ethss.c
+++ b/drivers/net/ethernet/ti/netcp_ethss.c
@@ -3704,9 +3704,9 @@ static int gbe_probe(struct netcp_device *netcp_device, struct device *dev,
                ale_params.nu_switch_ale = true;
        }
        gbe_dev->ale = cpsw_ale_create(&ale_params);
-       if (!gbe_dev->ale) {
+       if (IS_ERR(gbe_dev->ale)) {
                dev_err(gbe_dev->dev, "error initializing ale engine\n");
-               ret = -ENODEV;
+               ret = PTR_ERR(gbe_dev->ale);
                goto free_sec_ports;
        } else {
                dev_dbg(gbe_dev->dev, "Created a gbe ale engine\n");
--
2.25.1


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

* Re: [PATCH 0/2 v3] net: ethernet: ti: fix some return value check
  2020-05-20  3:41 [PATCH 0/2 v3] net: ethernet: ti: fix some return value check Wei Yongjun
  2020-05-20  3:41 ` [PATCH 1/2 v3] net: ethernet: ti: fix some return value check of cpsw_ale_create() Wei Yongjun
  2020-05-20  3:41 ` [PATCH 2/2 v3] net: ethernet: ti: am65-cpsw-nuss: fix error handling of am65_cpsw_nuss_probe Wei Yongjun
@ 2020-05-22  0:14 ` David Miller
  2 siblings, 0 replies; 5+ messages in thread
From: David Miller @ 2020-05-22  0:14 UTC (permalink / raw)
  To: weiyongjun1
  Cc: netdev, grygorii.strashko, christophe.jaillet, colin.king, kuba,
	kernel-janitors

From: Wei Yongjun <weiyongjun1@huawei.com>
Date: Wed, 20 May 2020 11:41:14 +0800

> This patchset convert cpsw_ale_create() to return PTR_ERR() only, and
> changed all the caller to check IS_ERR() instead of NULL.
> 
> Since v2:
> 1) rebased on net.git, as Jakub's suggest
> 2) split am65-cpsw-nuss.c changes, as Grygorii's suggest

Series applied, thanks.

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

end of thread, other threads:[~2020-05-22  0:14 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-20  3:41 [PATCH 0/2 v3] net: ethernet: ti: fix some return value check Wei Yongjun
2020-05-20  3:41 ` [PATCH 1/2 v3] net: ethernet: ti: fix some return value check of cpsw_ale_create() Wei Yongjun
2020-05-20  7:18   ` AW: " Walter Harms
2020-05-20  3:41 ` [PATCH 2/2 v3] net: ethernet: ti: am65-cpsw-nuss: fix error handling of am65_cpsw_nuss_probe Wei Yongjun
2020-05-22  0:14 ` [PATCH 0/2 v3] net: ethernet: ti: fix some return value check David Miller

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).