net: stmmac: selftests: Return proper error code to userspace
authorJose Abreu <Jose.Abreu@synopsys.com>
Wed, 4 Sep 2019 13:16:53 +0000 (15:16 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 Sep 2019 10:19:54 +0000 (12:19 +0200)
We can do better than just return 1 to userspace. Lets return a proper
Linux error code.

Signed-off-by: Jose Abreu <joabreu@synopsys.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c

index ecc8602c679903491bba382cb7269f09ee939be3..d3234338a0ca5203dd4bf67949f10a841a42d0b2 100644 (file)
@@ -318,7 +318,7 @@ static int __stmmac_test_loopback(struct stmmac_priv *priv,
                attr->timeout = STMMAC_LB_TIMEOUT;
 
        wait_for_completion_timeout(&tpriv->comp, attr->timeout);
-       ret = !tpriv->ok;
+       ret = tpriv->ok ? 0 : -ETIMEDOUT;
 
 cleanup:
        if (!attr->dont_wait)
@@ -480,7 +480,7 @@ static int stmmac_test_hfilt(struct stmmac_priv *priv)
 
        /* Shall NOT receive packet */
        ret = __stmmac_test_loopback(priv, &attr);
-       ret = !ret;
+       ret = ret ? 0 : -EINVAL;
 
 cleanup:
        dev_mc_del(priv->dev, gd_addr);
@@ -512,7 +512,7 @@ static int stmmac_test_pfilt(struct stmmac_priv *priv)
 
        /* Shall NOT receive packet */
        ret = __stmmac_test_loopback(priv, &attr);
-       ret = !ret;
+       ret = ret ? 0 : -EINVAL;
 
 cleanup:
        dev_uc_del(priv->dev, gd_addr);
@@ -562,7 +562,7 @@ static int stmmac_test_mcfilt(struct stmmac_priv *priv)
 
        /* Shall NOT receive packet */
        ret = __stmmac_test_loopback(priv, &attr);
-       ret = !ret;
+       ret = ret ? 0 : -EINVAL;
 
 cleanup:
        dev_uc_del(priv->dev, uc_addr);
@@ -600,7 +600,7 @@ static int stmmac_test_ucfilt(struct stmmac_priv *priv)
 
        /* Shall NOT receive packet */
        ret = __stmmac_test_loopback(priv, &attr);
-       ret = !ret;
+       ret = ret ? 0 : -EINVAL;
 
 cleanup:
        dev_mc_del(priv->dev, mc_addr);
@@ -699,7 +699,7 @@ static int stmmac_test_flowctrl(struct stmmac_priv *priv)
        }
 
        wait_for_completion_timeout(&tpriv->comp, STMMAC_LB_TIMEOUT);
-       ret = !tpriv->ok;
+       ret = tpriv->ok ? 0 : -ETIMEDOUT;
 
 cleanup:
        dev_mc_del(priv->dev, paddr);
@@ -833,11 +833,11 @@ static int stmmac_test_vlanfilt(struct stmmac_priv *priv)
                        goto vlan_del;
 
                wait_for_completion_timeout(&tpriv->comp, STMMAC_LB_TIMEOUT);
-               ret = !tpriv->ok;
+               ret = tpriv->ok ? 0 : -ETIMEDOUT;
                if (ret && !i) {
                        goto vlan_del;
                } else if (!ret && i) {
-                       ret = -1;
+                       ret = -EINVAL;
                        goto vlan_del;
                } else {
                        ret = 0;
@@ -909,11 +909,11 @@ static int stmmac_test_dvlanfilt(struct stmmac_priv *priv)
                        goto vlan_del;
 
                wait_for_completion_timeout(&tpriv->comp, STMMAC_LB_TIMEOUT);
-               ret = !tpriv->ok;
+               ret = tpriv->ok ? 0 : -ETIMEDOUT;
                if (ret && !i) {
                        goto vlan_del;
                } else if (!ret && i) {
-                       ret = -1;
+                       ret = -EINVAL;
                        goto vlan_del;
                } else {
                        ret = 0;
@@ -998,7 +998,7 @@ static int stmmac_test_rxp(struct stmmac_priv *priv)
        attr.src = addr;
 
        ret = __stmmac_test_loopback(priv, &attr);
-       ret = !ret; /* Shall NOT receive packet */
+       ret = ret ? 0 : -EINVAL; /* Shall NOT receive packet */
 
        cls_u32.command = TC_CLSU32_DELETE_KNODE;
        stmmac_tc_setup_cls_u32(priv, priv, &cls_u32);