net: eth-uclass: add return value check
authorPeng Fan <peng.fan@nxp.com>
Sun, 3 May 2020 14:41:13 +0000 (22:41 +0800)
committerStefano Babic <sbabic@denx.de>
Sun, 10 May 2020 11:24:41 +0000 (13:24 +0200)
Add return value check

Signed-off-by: Peng Fan <peng.fan@nxp.com>
net/eth-uclass.c

index 8bf2eabe9026df405825ddf3b78aedf5d417f94b..950a48d520db93a63b152cb07cd113f97e92b22c 100644 (file)
@@ -40,8 +40,12 @@ static int eth_errno;
 static struct eth_uclass_priv *eth_get_uclass_priv(void)
 {
        struct uclass *uc;
+       int ret;
+
+       ret = uclass_get(UCLASS_ETH, &uc);
+       if (ret)
+               return NULL;
 
-       uclass_get(UCLASS_ETH, &uc);
        assert(uc);
        return uc->priv;
 }
@@ -102,6 +106,7 @@ struct udevice *eth_get_dev_by_name(const char *devname)
        struct udevice *it;
        struct uclass *uc;
        int len = strlen("eth");
+       int ret;
 
        /* Must be longer than 3 to be an alias */
        if (!strncmp(devname, "eth", len) && strlen(devname) > len) {
@@ -109,7 +114,10 @@ struct udevice *eth_get_dev_by_name(const char *devname)
                seq = simple_strtoul(startp, &endp, 10);
        }
 
-       uclass_get(UCLASS_ETH, &uc);
+       ret = uclass_get(UCLASS_ETH, &uc);
+       if (ret)
+               return NULL;
+
        uclass_foreach_dev(it, uc) {
                /*
                 * We need the seq to be valid, so try to probe it.