The variable rc is supposed to hold the value returned by function
kstrtoul which can either be 0, -EINVAL (-22) or -ERANGE (-34).
Therefore, the check must be performed on rc instead of val for error
values. Also, rc can never be greater than 0.
Signed-off-by: Shivani Bhardwaj <shivanib134@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
unsigned long val;
rc = kstrtoul(buffer, 10, &val);
- if (rc)
- return rc;
- if (val < 0 || val > 1)
+ if (rc < 0)
return -ERANGE;
/* opposite senses */