On 7/8/24 11:06 PM, Bao D. Nguyen wrote:Hi Bart,
+static int uic_cmd_timeout_set(const char *val, const struct kernel_param *kp)
+{
+ unsigned int n;
+ int ret;
+
+ ret = kstrtou32(val, 0, &n);
+ if (ret != 0 || n < UIC_CMD_TIMEOUT_DEFAULT || n > UIC_CMD_TIMEOUT_MAX)
+ return -EINVAL;
+
+ return param_set_int(val, kp);
+}
The above code converts 'val' twice to an integer: a first time by
calling kstrtou32() and a second time by calling param_set_int().
Please remove one of the two string-to-integer conversions, e.g. by
changing "param_set_int(val, kp)" into "uic_cmd_timeout = n" or
*(unsigned int *)kp->arg = n".
Thanks,
Bart.