Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932074AbbLGKAT (ORCPT ); Mon, 7 Dec 2015 05:00:19 -0500 Received: from mail-pf0-f174.google.com ([209.85.192.174]:34454 "EHLO mail-pf0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751513AbbLGKAR (ORCPT ); Mon, 7 Dec 2015 05:00:17 -0500 From: Saurabh Sengar To: dan.carpenter@oracle.com, devel@driverdev.osuosl.org, kirk@reisers.ca, gregkh@linuxfoundation.org, speakup@linux-speakup.org, linux-kernel@vger.kernel.org, samuel.thibault@ens-lyon.com, chris@the-brannons.com Cc: Saurabh Sengar Subject: [PATCH v2] Staging: speakup: kobjects: Return the error type to caller Date: Mon, 7 Dec 2015 15:29:58 +0530 Message-Id: <1449482398-9435-1-git-send-email-saurabh.truth@gmail.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <20151207083109.GC18797@mwanda> References: <20151207083109.GC18797@mwanda> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1899 Lines: 62 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 --- 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 #include -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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/