Message ID | 20240129164931.38477-1-oleksandr@natalenko.name |
---|---|
State | Accepted |
Commit | 411a20db905b44e18cc9129b745f1d5deba4eae5 |
Headers | show |
Series | HID: logitech-hidpp: Do not flood kernel log | expand |
Hi, On 1/29/24 17:49, Oleksandr Natalenko wrote: > Since commit 680ee411a98e ("HID: logitech-hidpp: Fix connect event race") > the following messages appear in the kernel log from time to time: > > logitech-hidpp-device 0003:046D:408A.0005: HID++ 4.5 device connected. > logitech-hidpp-device 0003:046D:408A.0005: HID++ 4.5 device connected. > logitech-hidpp-device 0003:046D:4051.0006: Disconnected > logitech-hidpp-device 0003:046D:408A.0005: Disconnected > > As discussed, print the first per-device "device connected" message > at info level, demoting subsequent messages to debug level. Also, > demote the "Disconnected message" to debug level unconditionally. > > Link: https://lore.kernel.org/lkml/3277085.44csPzL39Z@natalenko.name/ > Signed-off-by: Oleksandr Natalenko <oleksandr@natalenko.name> Thanks, patch looks good to me: Reviewed-by: Hans de Goede <hdegoede@redhat.com> Regards, Hans > --- > drivers/hid/hid-logitech-hidpp.c | 13 ++++++++++--- > 1 file changed, 10 insertions(+), 3 deletions(-) > > diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-hidpp.c > index 6ef0c88e3e60a..d2f3f234f29de 100644 > --- a/drivers/hid/hid-logitech-hidpp.c > +++ b/drivers/hid/hid-logitech-hidpp.c > @@ -203,6 +203,8 @@ struct hidpp_device { > struct hidpp_scroll_counter vertical_wheel_counter; > > u8 wireless_feature_index; > + > + bool connected_once; > }; > > /* HID++ 1.0 error codes */ > @@ -988,8 +990,13 @@ static int hidpp_root_get_protocol_version(struct hidpp_device *hidpp) > hidpp->protocol_minor = response.rap.params[1]; > > print_version: > - hid_info(hidpp->hid_dev, "HID++ %u.%u device connected.\n", > - hidpp->protocol_major, hidpp->protocol_minor); > + if (!hidpp->connected_once) { > + hid_info(hidpp->hid_dev, "HID++ %u.%u device connected.\n", > + hidpp->protocol_major, hidpp->protocol_minor); > + hidpp->connected_once = true; > + } else > + hid_dbg(hidpp->hid_dev, "HID++ %u.%u device connected.\n", > + hidpp->protocol_major, hidpp->protocol_minor); > return 0; > } > > @@ -4184,7 +4191,7 @@ static void hidpp_connect_event(struct work_struct *work) > /* Get device version to check if it is connected */ > ret = hidpp_root_get_protocol_version(hidpp); > if (ret) { > - hid_info(hidpp->hid_dev, "Disconnected\n"); > + hid_dbg(hidpp->hid_dev, "Disconnected\n"); > if (hidpp->battery.ps) { > hidpp->battery.online = false; > hidpp->battery.status = POWER_SUPPLY_STATUS_UNKNOWN;
diff --git a/drivers/hid/hid-logitech-hidpp.c b/drivers/hid/hid-logitech-hidpp.c index 6ef0c88e3e60a..d2f3f234f29de 100644 --- a/drivers/hid/hid-logitech-hidpp.c +++ b/drivers/hid/hid-logitech-hidpp.c @@ -203,6 +203,8 @@ struct hidpp_device { struct hidpp_scroll_counter vertical_wheel_counter; u8 wireless_feature_index; + + bool connected_once; }; /* HID++ 1.0 error codes */ @@ -988,8 +990,13 @@ static int hidpp_root_get_protocol_version(struct hidpp_device *hidpp) hidpp->protocol_minor = response.rap.params[1]; print_version: - hid_info(hidpp->hid_dev, "HID++ %u.%u device connected.\n", - hidpp->protocol_major, hidpp->protocol_minor); + if (!hidpp->connected_once) { + hid_info(hidpp->hid_dev, "HID++ %u.%u device connected.\n", + hidpp->protocol_major, hidpp->protocol_minor); + hidpp->connected_once = true; + } else + hid_dbg(hidpp->hid_dev, "HID++ %u.%u device connected.\n", + hidpp->protocol_major, hidpp->protocol_minor); return 0; } @@ -4184,7 +4191,7 @@ static void hidpp_connect_event(struct work_struct *work) /* Get device version to check if it is connected */ ret = hidpp_root_get_protocol_version(hidpp); if (ret) { - hid_info(hidpp->hid_dev, "Disconnected\n"); + hid_dbg(hidpp->hid_dev, "Disconnected\n"); if (hidpp->battery.ps) { hidpp->battery.online = false; hidpp->battery.status = POWER_SUPPLY_STATUS_UNKNOWN;
Since commit 680ee411a98e ("HID: logitech-hidpp: Fix connect event race") the following messages appear in the kernel log from time to time: logitech-hidpp-device 0003:046D:408A.0005: HID++ 4.5 device connected. logitech-hidpp-device 0003:046D:408A.0005: HID++ 4.5 device connected. logitech-hidpp-device 0003:046D:4051.0006: Disconnected logitech-hidpp-device 0003:046D:408A.0005: Disconnected As discussed, print the first per-device "device connected" message at info level, demoting subsequent messages to debug level. Also, demote the "Disconnected message" to debug level unconditionally. Link: https://lore.kernel.org/lkml/3277085.44csPzL39Z@natalenko.name/ Signed-off-by: Oleksandr Natalenko <oleksandr@natalenko.name> --- drivers/hid/hid-logitech-hidpp.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-)