All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Pariente <markpariente@gmail.com>
To: Jiri Kosina <jikos@kernel.org>, Benjamin Tissoires <bentiss@kernel.org>
Cc: "Filipe Laíns" <lains@riseup.net>,
	linux-input@vger.kernel.org, linux-kernel@vger.kernel.org,
	stable@vger.kernel.org, "Mark Pariente" <markpariente@gmail.com>
Subject: [PATCH v2 0/2] HID: logitech-dj: Restore device configuration after reset-resume
Date: Sun, 18 Oct 2026 16:26:52 -0700	[thread overview]
Message-ID: <20261018232654.70571-1-markpariente@gmail.com> (raw)
In-Reply-To: <20261018224627.60328-1-markpariente@gmail.com>

When a Unifying receiver is reset on resume, for example because a USB
KVM switch moved it to another host while the system was suspended,
devices that reconnected in the meantime lose their configuration. The
most visible case is HID++ hi-res scrolling, which leaves the wheel
about 15x slower. Patch 2 has the receiver re-announce its connected
devices on reset-resume so that hidpp reconfigures them.

Sashiko pointed out that on Unifying receivers the re-announce can also
hit slots without a known device, and that HID++ connect notifications
then add those devices with an incomplete report descriptor. That can
already happen today, e.g. when Solaar sends the same request on
startup, so patch 1 fixes it separately: on Unifying receivers, unknown
slots are enumerated through DJ notifications instead.

Changes in v2:
- New patch 1/2: don't add devices from HID++ connect notifications on
  Unifying receivers (reported by Sashiko).
- Patch 2/2: code unchanged; the commit message notes the dependency
  on 1/2.
- v1: https://lore.kernel.org/linux-input/20261018224627.60328-1-markpariente@gmail.com/

Testing:
- Both patches applied to the v7.2 driver and loaded as an out-of-tree
  module on Fedora's 7.2.11 kernel, with an MX Master 3 on a Unifying
  receiver (046d:c52b) behind a USB KVM switch. Devices enumerate
  normally, and hi-res scrolling is restored after the reset-resume
  reproducer described in patch 2.
- The unknown-slot case fixed by patch 1 could not be reproduced here,
  because this KVM switch fully disconnects the receiver, so it was
  verified by code inspection only.
- Lightspeed, Nano and 27 MHz receivers were not tested; patch 1 does
  not change their behaviour, and patch 2 sends them the request
  logi_dj_recv_query_paired_devices() already uses for them.
- The investigation, patches and changelogs were drafted with an LLM
  coding assistant, then reviewed and tested by me.

Mark Pariente (2):
  HID: logitech-dj: Don't add Unifying devices from HID++ notifications
  HID: logitech-dj: Re-announce connected devices on reset-resume

 drivers/hid/hid-logitech-dj.c | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)


base-commit: ae6927c533a4454570950125ca8ba909c45f20f9
-- 
2.56.0


  parent reply	other threads:[~2026-10-18 23:27 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-18 22:46 [PATCH] HID: logitech-dj: Re-announce connected devices on reset-resume Mark Pariente
2026-10-18 23:02 ` sashiko-bot
2026-10-18 23:31   ` Mark R. Pariente
2026-10-18 23:26 ` Mark Pariente [this message]
2026-10-18 23:26   ` [PATCH v2 1/2] HID: logitech-dj: Don't add Unifying devices from HID++ notifications Mark Pariente
2026-10-18 23:26   ` [PATCH v2 2/2] HID: logitech-dj: Re-announce connected devices on reset-resume Mark Pariente

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=20261018232654.70571-1-markpariente@gmail.com \
    --to=markpariente@gmail.com \
    --cc=bentiss@kernel.org \
    --cc=jikos@kernel.org \
    --cc=lains@riseup.net \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@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: link
Be 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.