| From 7a5317211675cb9866a4ed6f217d77840ca0000c Mon Sep 17 00:00:00 2001 |
| From: Hans de Goede <hdegoede@redhat.com> |
| Date: Thu, 14 Nov 2019 15:30:46 +0100 |
| Subject: [PATCH] HID: logitech-hidpp: Silence intermittent |
| get_battery_capacity errors |
| |
| commit 61005d65b6c7dcf61c19516e6ebe5acc02d2cdda upstream. |
| |
| My Logitech M185 (PID:4038) 2.4 GHz wireless HID++ mouse is causing |
| intermittent errors like these in the log: |
| |
| [11091.034857] logitech-hidpp-device 0003:046D:4038.0006: hidpp20_batterylevel_get_battery_capacity: received protocol error 0x09 |
| [12388.031260] logitech-hidpp-device 0003:046D:4038.0006: hidpp20_batterylevel_get_battery_capacity: received protocol error 0x09 |
| [16613.718543] logitech-hidpp-device 0003:046D:4038.0006: hidpp20_batterylevel_get_battery_capacity: received protocol error 0x09 |
| [23529.938728] logitech-hidpp-device 0003:046D:4038.0006: hidpp20_batterylevel_get_battery_capacity: received protocol error 0x09 |
| |
| We are already silencing error-code 0x09 (HIDPP_ERROR_RESOURCE_ERROR) |
| errors in other places, lets do the same in |
| hidpp20_batterylevel_get_battery_capacity to remove these harmless, |
| but scary looking errors from the dmesg output. |
| |
| Signed-off-by: Hans de Goede <hdegoede@redhat.com> |
| Signed-off-by: Jiri Kosina <jkosina@suse.cz> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-hidpp.c |
| index 0faef11c29f6..f97913974983 100644 |
| --- a/drivers/hid/hid-logitech-hidpp.c |
| +++ b/drivers/hid/hid-logitech-hidpp.c |
| @@ -1102,6 +1102,9 @@ static int hidpp20_batterylevel_get_battery_capacity(struct hidpp_device *hidpp, |
| ret = hidpp_send_fap_command_sync(hidpp, feature_index, |
| CMD_BATTERY_LEVEL_STATUS_GET_BATTERY_LEVEL_STATUS, |
| NULL, 0, &response); |
| + /* Ignore these intermittent errors */ |
| + if (ret == HIDPP_ERROR_RESOURCE_ERROR) |
| + return -EIO; |
| if (ret > 0) { |
| hid_err(hidpp->hid_dev, "%s: received protocol error 0x%02x\n", |
| __func__, ret); |
| -- |
| 2.7.4 |
| |