From: Hans de Goede <hdegoede@redhat.com> To: Jiri Kosina <jikos@kernel.org>, Benjamin Tissoires <benjamin.tissoires@redhat.com> Cc: "Hans de Goede" <hdegoede@redhat.com>, "Marek Behún" <kabel@kernel.org>, linux-input@vger.kernel.org, linux-leds@vger.kernel.org, alsa-devel@alsa-project.org Subject: [PATCH v2 1/3] HID: elan: Silence mute LED errors being logged when the device is unplugged Date: Sun, 21 Feb 2021 12:30:27 +0100 [thread overview] Message-ID: <20210221113029.103703-2-hdegoede@redhat.com> (raw) In-Reply-To: <20210221113029.103703-1-hdegoede@redhat.com> Being integrated into an USB keyboard-dock the mute LED can go away at any time, leading to the following errors: [ 918.667671] elan 0003:04F3:0755.0002: Failed to set mute led brightness: -19 [ 918.667737] leds elan:red:mute: Setting an LED's brightness failed (-19) Fix this by making the following changes: 1. Don't log an error from elan_mute_led_set_brigtness() when ret == -ENODEV 2. Set the LED_HW_PLUGGABLE flag on the mute LED led_classdev While at it also make sure that elan_mute_led_set_brigtness() returns an error (-EIO) when ret != 3 but it is not an error (>= 0). Reviewed-by: Marek Behún <kabel@kernel.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- Changes in v2: - Return -EIO when ret != 3 and >= 0 --- drivers/hid/hid-elan.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/hid/hid-elan.c b/drivers/hid/hid-elan.c index dae193749d44..473d8528319d 100644 --- a/drivers/hid/hid-elan.c +++ b/drivers/hid/hid-elan.c @@ -445,8 +445,9 @@ static int elan_mute_led_set_brigtness(struct led_classdev *led_cdev, kfree(dmabuf); if (ret != ELAN_LED_REPORT_SIZE) { - hid_err(hdev, "Failed to set mute led brightness: %d\n", ret); - return ret; + if (ret != -ENODEV) + hid_err(hdev, "Failed to set mute led brightness: %d\n", ret); + return ret < 0 ? ret : -EIO; } drvdata->mute_led_state = led_state; @@ -462,6 +463,7 @@ static int elan_init_mute_led(struct hid_device *hdev) mute_led->brightness_get = elan_mute_led_get_brigtness; mute_led->brightness_set_blocking = elan_mute_led_set_brigtness; mute_led->max_brightness = LED_ON; + mute_led->flags = LED_HW_PLUGGABLE; mute_led->dev = &hdev->dev; return devm_led_classdev_register(&hdev->dev, mute_led); -- 2.30.1
WARNING: multiple messages have this Message-ID (diff)
From: Hans de Goede <hdegoede@redhat.com> To: Jiri Kosina <jikos@kernel.org>, Benjamin Tissoires <benjamin.tissoires@redhat.com> Cc: "Marek Behún" <kabel@kernel.org>, "Hans de Goede" <hdegoede@redhat.com>, alsa-devel@alsa-project.org, linux-leds@vger.kernel.org, linux-input@vger.kernel.org Subject: [PATCH v2 1/3] HID: elan: Silence mute LED errors being logged when the device is unplugged Date: Sun, 21 Feb 2021 12:30:27 +0100 [thread overview] Message-ID: <20210221113029.103703-2-hdegoede@redhat.com> (raw) In-Reply-To: <20210221113029.103703-1-hdegoede@redhat.com> Being integrated into an USB keyboard-dock the mute LED can go away at any time, leading to the following errors: [ 918.667671] elan 0003:04F3:0755.0002: Failed to set mute led brightness: -19 [ 918.667737] leds elan:red:mute: Setting an LED's brightness failed (-19) Fix this by making the following changes: 1. Don't log an error from elan_mute_led_set_brigtness() when ret == -ENODEV 2. Set the LED_HW_PLUGGABLE flag on the mute LED led_classdev While at it also make sure that elan_mute_led_set_brigtness() returns an error (-EIO) when ret != 3 but it is not an error (>= 0). Reviewed-by: Marek Behún <kabel@kernel.org> Signed-off-by: Hans de Goede <hdegoede@redhat.com> --- Changes in v2: - Return -EIO when ret != 3 and >= 0 --- drivers/hid/hid-elan.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/hid/hid-elan.c b/drivers/hid/hid-elan.c index dae193749d44..473d8528319d 100644 --- a/drivers/hid/hid-elan.c +++ b/drivers/hid/hid-elan.c @@ -445,8 +445,9 @@ static int elan_mute_led_set_brigtness(struct led_classdev *led_cdev, kfree(dmabuf); if (ret != ELAN_LED_REPORT_SIZE) { - hid_err(hdev, "Failed to set mute led brightness: %d\n", ret); - return ret; + if (ret != -ENODEV) + hid_err(hdev, "Failed to set mute led brightness: %d\n", ret); + return ret < 0 ? ret : -EIO; } drvdata->mute_led_state = led_state; @@ -462,6 +463,7 @@ static int elan_init_mute_led(struct hid_device *hdev) mute_led->brightness_get = elan_mute_led_get_brigtness; mute_led->brightness_set_blocking = elan_mute_led_set_brigtness; mute_led->max_brightness = LED_ON; + mute_led->flags = LED_HW_PLUGGABLE; mute_led->dev = &hdev->dev; return devm_led_classdev_register(&hdev->dev, mute_led); -- 2.30.1
next prev parent reply other threads:[~2021-02-21 11:32 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-02-21 11:30 [PATCH v2 0/3] HID: elan: Mute LED handling fixes and improvements Hans de Goede 2021-02-21 11:30 ` Hans de Goede 2021-02-21 11:30 ` Hans de Goede [this message] 2021-02-21 11:30 ` [PATCH v2 1/3] HID: elan: Silence mute LED errors being logged when the device is unplugged Hans de Goede 2021-02-21 11:30 ` [PATCH v2 2/3] HID: elan: Set default_trigger for the mute LED Hans de Goede 2021-02-21 11:30 ` Hans de Goede 2021-02-21 11:30 ` [PATCH v2 3/3] HID: elan: Remove elan_mute_led_get_brigtness() Hans de Goede 2021-02-21 11:30 ` Hans de Goede 2021-02-23 9:09 ` Pavel Machek 2021-02-23 9:09 ` Pavel Machek 2021-02-23 9:08 ` [PATCH v2 0/3] HID: elan: Mute LED handling fixes and improvements Pavel Machek 2021-02-23 9:08 ` Pavel Machek
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210221113029.103703-2-hdegoede@redhat.com \ --to=hdegoede@redhat.com \ --cc=alsa-devel@alsa-project.org \ --cc=benjamin.tissoires@redhat.com \ --cc=jikos@kernel.org \ --cc=kabel@kernel.org \ --cc=linux-input@vger.kernel.org \ --cc=linux-leds@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.