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 <saurabh.truth@xxxxxxxxx> --- 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 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel