From patchwork Thu Jul 16 17:17:29 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Marek_Beh=C3=BAn?= X-Patchwork-Id: 1330395 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=nic.cz Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=nic.cz header.i=@nic.cz header.a=rsa-sha256 header.s=default header.b=F/nx+tgv; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4B71Cs6wHGz9sSt for ; Fri, 17 Jul 2020 03:17:45 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728989AbgGPRRd (ORCPT ); Thu, 16 Jul 2020 13:17:33 -0400 Received: from mail.nic.cz ([217.31.204.67]:53308 "EHLO mail.nic.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728860AbgGPRRd (ORCPT ); Thu, 16 Jul 2020 13:17:33 -0400 Received: from dellmb.labs.office.nic.cz (unknown [IPv6:2001:1488:fffe:6:cac7:3539:7f1f:463]) by mail.nic.cz (Postfix) with ESMTP id 3C50C140A8D; Thu, 16 Jul 2020 19:17:31 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1594919851; bh=5aWK9bcuNcHRqhyEhDtoFmIPPFIlMkbkUbrKp1qgHSA=; h=From:To:Date; b=F/nx+tgvQvHYjEGMYUkvMuuhIDJmDc3VyNf0Bhr/u0/oI92lgOEs8+qBH8faFyLLm 4nkVS2uYTI6GZNLc3QRMBCMPgLNUC6gsht2a5ms2cc58PdMlagOqCbmxFBvtWVONH/ txJsfyXdAVdm56cSDa9w9kIOY+4QI4YXTDtYP8ek= From: =?utf-8?q?Marek_Beh=C3=BAn?= To: linux-leds@vger.kernel.org Cc: Pavel Machek , jacek.anaszewski@gmail.com, Dan Murphy , =?utf-8?q?Ond=C5=99ej_Jirman?= , netdev@vger.kernel.org, Russell King , Thomas Petazzoni , Gregory Clement , Andrew Lunn , linux-kernel@vger.kernel.org, =?utf-8?q?Marek_Beh=C3=BAn?= Subject: [PATCH RFC leds + net-next 2/3] leds: trigger: return error value if .activate() failed Date: Thu, 16 Jul 2020 19:17:29 +0200 Message-Id: <20200716171730.13227-3-marek.behun@nic.cz> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200716171730.13227-1-marek.behun@nic.cz> References: <20200716171730.13227-1-marek.behun@nic.cz> MIME-Version: 1.0 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mail.nic.cz X-Spam-Status: No, score=0.00 X-Spamd-Bar: / X-Virus-Scanned: clamav-milter 0.102.2 at mail X-Virus-Status: Clean Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Currently when the .activate() method fails and returns a negative error code while writing to the /sys/class/leds//trigger file, the write system call does not inform the user abouth this failure. This patch fixes this. Signed-off-by: Marek BehĂșn --- drivers/leds/led-triggers.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c index 81e758d5a048..804e0d624f47 100644 --- a/drivers/leds/led-triggers.c +++ b/drivers/leds/led-triggers.c @@ -40,7 +40,7 @@ ssize_t led_trigger_write(struct file *filp, struct kobject *kobj, struct device *dev = kobj_to_dev(kobj); struct led_classdev *led_cdev = dev_get_drvdata(dev); struct led_trigger *trig; - int ret = count; + int ret; mutex_lock(&led_cdev->led_access); @@ -58,7 +58,7 @@ ssize_t led_trigger_write(struct file *filp, struct kobject *kobj, list_for_each_entry(trig, &trigger_list, next_trig) { if (sysfs_streq(buf, trig->name) && trigger_relevant(led_cdev, trig)) { down_write(&led_cdev->trigger_lock); - led_trigger_set(led_cdev, trig); + ret = led_trigger_set(led_cdev, trig); up_write(&led_cdev->trigger_lock); up_read(&triggers_list_lock); @@ -71,7 +71,7 @@ ssize_t led_trigger_write(struct file *filp, struct kobject *kobj, unlock: mutex_unlock(&led_cdev->led_access); - return ret; + return ret < 0 ? ret : count; } EXPORT_SYMBOL_GPL(led_trigger_write);