param: fix return value handling in param_set_*
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / kernel / params.c
index ed72e1330862d265e4276669830ec3f6b26c7d0d..2a4ba258f04fc4cd6b3d67981c3fe7982e3f8099 100644 (file)
@@ -225,8 +225,8 @@ int parse_args(const char *name,
                int ret;                                                \
                                                                        \
                ret = strtolfn(val, 0, &l);                             \
-               if (ret == -EINVAL || ((type)l != l))                   \
-                       return -EINVAL;                                 \
+               if (ret < 0 || ((type)l != l))                          \
+                       return ret < 0 ? ret : -EINVAL;                 \
                *((type *)kp->arg) = l;                                 \
                return 0;                                               \
        }                                                               \