]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net: ethernet: ti: fix some return value check of cpsw_ale_create()
authorWei Yongjun <weiyongjun1@huawei.com>
Wed, 20 May 2020 03:41:15 +0000 (11:41 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 22 May 2020 00:14:18 +0000 (17:14 -0700)
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: c2ed31849c9e ("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>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ti/cpsw_ale.c
drivers/net/ethernet/ti/cpsw_priv.c
drivers/net/ethernet/ti/netcp_ethss.c

index 0374e6936091ea004e55598f88a4e8487905aa45..8dc6be11b2ff45bb73b4c9de647a4ab89a6313d8 100644 (file)
@@ -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),
index 97a058ca60ac9b177f7945e3b9be9ccfe9eb070e..d0b6c418a8704198c389623601bf8238600ca065 100644 (file)
@@ -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;
index fb36115e9c510c7315eb13e0992575a59d091dc4..fdbae734acce78059856421959a2dba925b718ca 100644 (file)
@@ -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");