Inorder to notify the user that value is not successfuly set in sys
entry, error should be returned from store function instead of count

Signed-off-by: Saurabh Sengar <[email protected]>
---
 drivers/staging/speakup/kobjects.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/speakup/kobjects.c 
b/drivers/staging/speakup/kobjects.c
index fdfeb42..b3a83fb 100644
--- a/drivers/staging/speakup/kobjects.c
+++ b/drivers/staging/speakup/kobjects.c
@@ -640,7 +640,8 @@ ssize_t spk_var_store(struct kobject *kobj, struct 
kobj_attribute *attr,
                        len = E_INC;
                else
                        len = E_SET;
-               if (kstrtol(cp, 10, &value) == 0)
+               ret = kstrtol(cp, 10, &value);
+               if (!ret)
                        ret = spk_set_num_var(value, param, len);
                else
                        pr_warn("overflow or parsing error has occurred");
@@ -688,6 +689,8 @@ ssize_t spk_var_store(struct kobject *kobj, struct 
kobj_attribute *attr,
 
        if (ret == -ERESTART)
                pr_info("%s reset to default value\n", param->name);
+       else if (ret < 0)
+               return ret;
        return count;
 }
 EXPORT_SYMBOL_GPL(spk_var_store);
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to