public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: kenkinming2002@gmail.com
To: Benjamin Tissoires <bentiss@kernel.org>
Cc: jikos@kernel.org, linux-input@vger.kernel.org,
	 linux-kernel@vger.kernel.org
Subject: Re: [PATCH] HID: i2c-hid: override HID descriptors for some Haptick 5288 touchpads
Date: Wed, 14 Jan 2026 02:08:22 +0800	[thread overview]
Message-ID: <aWaD_4oNWzSQIrZ3@anonymous> (raw)
In-Reply-To: <ngcltngjjl5dc4nt5i3ui5pjvemt26kp4iqpbcpbllvwwbonfd@yspyfi423i3w>

On Tue, Jan 13, 2026 at 04:00:35PM +0100, Benjamin Tissoires wrote:
> On second thoughts, maybe we can have the HID descriptor dmi quirk in
> the kernel only. This way, the device should be presented to HID-BPF and
> the HID stack, and if there is something wrong in the descriptor, this
> shouldn't fail dramatically.

Unfortunately, this fail even more badly. The logs are consistent and
short enough that I will include one of them verbatim here but they are
also available on same github repository under logs
https://github.com/kenkinming2002/samsung-i2c-hid-bug-repro.

> [ 1976.296726] i2c_hid:i2c_hid_core_probe: i2c-hid-core.c: HID probe called for i2c 0x2c
> [ 1976.296960] i2c_hid:i2c_hid_fetch_hid_descriptor: i2c_hid_acpi i2c-SPPT2600:00: Using a HID descriptor override
> [ 1976.296965] i2c_hid:i2c_hid_fetch_hid_descriptor: i2c_hid_acpi i2c-SPPT2600:00: HID Descriptor: 1e 00 00 01 e2 01 21 00 24 00 1f 00 25 00 11 00 22 00 23 00 11 09 88 52 06 00 00 00 00 00
> [ 1976.296969] i2c_hid:i2c_hid_init_irq: i2c_hid_acpi i2c-SPPT2600:00: Requesting IRQ: 152
> [ 1976.297217] i2c_hid:i2c_hid_parse: i2c_hid_acpi i2c-SPPT2600:00: entering i2c_hid_parse
> [ 1976.297220] i2c_hid:i2c_hid_start_hwreset: i2c_hid_acpi i2c-SPPT2600:00: i2c_hid_start_hwreset
> [ 1976.297222] i2c_hid:i2c_hid_set_power: i2c_hid_acpi i2c-SPPT2600:00: i2c_hid_set_power
> [ 1976.297224] i2c_hid:i2c_hid_xfer: i2c_hid_acpi i2c-SPPT2600:00: i2c_hid_xfer: cmd=22 00 00 08
> [ 1976.357910] i2c_hid:i2c_hid_xfer: i2c_hid_acpi i2c-SPPT2600:00: i2c_hid_xfer: cmd=22 00 00 01
> [ 1976.358600] i2c_hid:i2c_hid_finish_hwreset: i2c_hid_acpi i2c-SPPT2600:00: i2c_hid_finish_hwreset: waiting...
> [ 1976.461915] i2c_hid:i2c_hid_finish_hwreset: i2c_hid_acpi i2c-SPPT2600:00: i2c_hid_finish_hwreset: finished.
> [ 1976.461925] i2c_hid:i2c_hid_set_power: i2c_hid_acpi i2c-SPPT2600:00: i2c_hid_set_power
> [ 1976.461929] i2c_hid:i2c_hid_xfer: i2c_hid_acpi i2c-SPPT2600:00: i2c_hid_xfer: cmd=22 00 00 08
> [ 1976.523047] i2c_hid:i2c_hid_parse: i2c_hid_acpi i2c-SPPT2600:00: asking HID report descriptor
> [ 1976.523057] i2c_hid:i2c_hid_xfer: i2c_hid_acpi i2c-SPPT2600:00: i2c_hid_xfer: cmd=21 00
> [ 1976.523723] i2c_hid:i2c_hid_parse: i2c_hid_acpi i2c-SPPT2600:00: Report Descriptor:
> [ 1976.523954] hid-generic 0018:0911:5288.00FC: item fetching failed at offset 0/0
> [ 1976.523970] hid-generic 0018:0911:5288.00FC: probe with driver hid-generic failed with error -22

It seems that the touchpad really does not like us only retrieving the
hid descriptor and not the report descriptor and end up returning an
empty report descriptor. We know that this is the device returning an
empty report descriptor and not me botching up my hid-bpf driver by
looking at the third line from the bottom which comes from the i2c-hid
driver:

> [ 1976.523723] i2c_hid:i2c_hid_parse: i2c_hid_acpi i2c-SPPT2600:00: Report Descriptor:

This would imply that for an user who do not have hid-bpf report
descriptor fix, he would change from having a touchpad that works most
of the time to never which is a horrible regression to have.

Judging by the fact that I seem to be the only person affected that is
on this mailing list and my full disk encryption setup which kinda
triggered this issue might not be the most common, I am okay with
keeping this as a local patch for myself.

On a side note, I have written and compiled a hid-bpf driver but not yet
figure out how to it to load even after installing it with udev-hid-bpf.
There is probably something blatantly obvious I overlooked. That is
besides the point anyway since there is no point in a hid-bpf driver if
the above issue is not fixed. I also do not know how to fill the vid and
pid field for HID_DEVICE from HID_BPF_CONFIG but that seems to me to be
only for some introspection purposes that is not used in runtime.

Thanks.

Yours sincerely,
Ken Kwok

      reply	other threads:[~2026-01-13 18:08 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-25 19:08 [PATCH] HID: i2c-hid: override HID descriptors for some Haptick 5288 touchpads Kwok Kin Ming
2026-01-07 17:45 ` Benjamin Tissoires
2026-01-07 18:14   ` kenkinming2002
2026-01-13 13:11     ` kenkinming2002
2026-01-13 15:00       ` Benjamin Tissoires
2026-01-13 18:08         ` kenkinming2002 [this message]

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=aWaD_4oNWzSQIrZ3@anonymous \
    --to=kenkinming2002@gmail.com \
    --cc=bentiss@kernel.org \
    --cc=jikos@kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox