dpaa2-eth: Fix passing zero to 'PTR_ERR' warning
authorYueHaibing <yuehaibing@huawei.com>
Tue, 4 Aug 2020 13:26:43 +0000 (21:26 +0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 4 Aug 2020 23:10:24 +0000 (16:10 -0700)
Fix smatch warning:

drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c:2419
 alloc_channel() warn: passing zero to 'ERR_PTR'

setup_dpcon() should return ERR_PTR(err) instead of zero in error
handling case.

Fixes: d7f5a9d89a55 ("dpaa2-eth: defer probe on object allocate")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c

index 83b1e97..457106e 100644 (file)
@@ -2370,7 +2370,7 @@ close:
 free:
        fsl_mc_object_free(dpcon);
 
-       return NULL;
+       return ERR_PTR(err);
 }
 
 static void free_dpcon(struct dpaa2_eth_priv *priv,
@@ -2394,8 +2394,8 @@ alloc_channel(struct dpaa2_eth_priv *priv)
                return NULL;
 
        channel->dpcon = setup_dpcon(priv);
-       if (IS_ERR_OR_NULL(channel->dpcon)) {
-               err = PTR_ERR_OR_ZERO(channel->dpcon);
+       if (IS_ERR(channel->dpcon)) {
+               err = PTR_ERR(channel->dpcon);
                goto err_setup;
        }