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 */