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> --- v2: Hi Dan, I will look more into this function in my free time. For now just sending you this patch fixing ERANGE as commented drivers/staging/speakup/kobjects.c | 4 +++- drivers/staging/staging.c | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/staging/speakup/kobjects.c b/drivers/staging/speakup/kobjects.c index fdfeb42..509163c 100644 --- a/drivers/staging/speakup/kobjects.c +++ b/drivers/staging/speakup/kobjects.c @@ -640,7 +640,7 @@ 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) + if (!kstrtol(cp, 10, &value)) ret = spk_set_num_var(value, param, len); else pr_warn("overflow or parsing error has occurred"); @@ -688,6 +688,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); diff --git a/drivers/staging/staging.c b/drivers/staging/staging.c index 233e589..36dd594 100644 --- a/drivers/staging/staging.c +++ b/drivers/staging/staging.c @@ -2,12 +2,12 @@ #include <linux/init.h> #include <linux/module.h> -static int __init staging_init(void) +static int staging_init(void) { return 0; } -static void __exit staging_exit(void) +static void staging_exit(void) { } -- 1.9.1 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel