From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5A0751AAE13 for ; Tue, 13 Jan 2026 18:08:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.171 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768327708; cv=none; b=CZGmglDukgJ1krbxYBxRZkpGkf6xNnhYKZC7cxgPwaDdhrXrbcuuu5th2wpRNWG5XDIfPpA7WOb/rNkMVGPmCNAs+nIZie9brRDh7QCc6B9dSoqCaKdOsV3d12PUhDueSnRelF21zdVkq3camwqTkwvu54FJQP0gzzF99MQAmaI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768327708; c=relaxed/simple; bh=PUqYLS2/zsFmqWi8AICg6hld+demEOhcQC0ifWXJP3Q=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=HqAw4Fpmr1SInBGsNF2Ja6VjVVgGyf2NTgcwVZq0zSDQBhBkLE78N8boumfGj4xOSpYPBZggdhgLJ4zL2TQ8ip/Ntl3xa0dbn1PZjfiwXoGVrd5d5xFxbjhmh33R7IWDdC5F0ASQ4G1Ypy8CIC9cg3osPvMjysFV9olibh5L9e8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=bMwIPoNS; arc=none smtp.client-ip=209.85.210.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bMwIPoNS" Received: by mail-pf1-f171.google.com with SMTP id d2e1a72fcca58-81f42a49437so1340292b3a.0 for ; Tue, 13 Jan 2026 10:08:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1768327707; x=1768932507; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=PUqYLS2/zsFmqWi8AICg6hld+demEOhcQC0ifWXJP3Q=; b=bMwIPoNSEUvqCOaR/qoBaK5IWwzf3uov+6Kc0tslT6dju/8J/1fFD5JHSSIIU7e3+5 W9aQXMhgUg485xCTF02kqTEOb2Zx35Nc4nJIGFOXQ05LEqOQoOLhc136hG/BzmO66k+Q IPSj4heksup/xMJ77Mgner0ppb40UpbQXDnHmCIMLNUK+NohUelC10jF7Bx0n5Psj6yn mUkZhRaovSq4VFFITx1pX7wUnzmgI/PXlMzTbTSbY808f2/eFL9mM6ZWh+RArNbO7w9M bRBXEj8UIiADPQ33okzRXgqv4v9qI97E3PFVY9pxPqNWL5n8r+ixcc83NkSJqlQKEW0H XRcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768327707; x=1768932507; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PUqYLS2/zsFmqWi8AICg6hld+demEOhcQC0ifWXJP3Q=; b=qrAQniPwxi8N8sUqNKGs+rIpsHVI6L2aaLuY+88TkCW3EyZwIbgHGkCN9Zh7BzVk9u GhOUToD9sk/2ifwk68EspHN6ngHWO23x4tN81rRxgL780mPs2d3cISQnfKvMM0O+McBU SaAd5GdeQ7tysTQOuTZfceiYG8gbfjmuq1xBwgjc3Z0A1Qe3EuZX5aFki0gpO3IWkLNw nyslU0lvgZJJAYXQ1QKG5tldZOpTnhyah9G4WtReXQ35gKVkgNqBVPekQEQqgeX1gC5h m7ebtcawFx4/Awu9CVPzgVNngxwSDzrZ2U3yeJeLoELRqYGE7mKMO6eG9ayAPhVa8EH+ 0qrw== X-Forwarded-Encrypted: i=1; AJvYcCUX2Tll8CuX5QCnNdbFN+P573SmmP5s3igcCXFCS+EYtXioM+Qgokd7RW8BcIxn8+9Lc1rvjt2dp7lQhqQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxYGe+E0E+X52glssvpjvwqKkXdSo/B7fKA5d5NhS3pUIJBntoX fYxoms36X/eMWnvAH75TYWPL3yPdoZ2cc15lnYXR2qSSVbEey9YsihPy X-Gm-Gg: AY/fxX6IDMxDIdHXPSjBL9G036ZczePN+1ET89IetS2kwF4Ix810uHILZMVnxC1GqpV p102DK9zMZWqWq6QaokEVSenSt4XW36EjCBxsee1oRIVyjLaFNjj7oHZsLfbcP9TaMwz0A3G0o3 QWpnfWKjmMDHy1/ZQ34BRcjui/nxbofjkIRksM9CbtuXN3yt5ntKPlr43Yi5hrS1FXIzlfMuqGQ wsCB1Us9GRuMQNtpVF8STx+qPUt+hG/TtAzaGQ0y8/Z2Ds+39NCOhDQ/q9ITnzNaitq0H4okKzo D5oVl/VnejoL6j/UFKctQHubGn9jGmxiNZse9GcIvkvYEQ3CNKnlywEDRe4bEFNjg4mo7GyDRwT Mhrnh5ngOYF65i0X+1NY1daLczNWB4ZvX7tgkuqr/xb9BcPQ+5pJzGSO/xfKH8EDp/CmdF0qFZw 2sqHW04AtE4KZGp+R0A3OLuVeII8jj8LyR4cevIpT1p2VNE7YFj33cQVS/2J9mMfb690bibZR8u XSkVHuAcp7qhr3eYvP9P/Rw3sTmFJ75nr5Ob38y9wXwFfxqtQZCnQkfKhqA X-Google-Smtp-Source: AGHT+IFDuQEqucfQxrsHVEv6S4l1hCuxXs3LplvzbnHhqb3pRr5cN/0XyqM1u4dZwntWKzjYt5BtfQ== X-Received: by 2002:a05:6a00:a90d:b0:81f:1a4b:bf50 with SMTP id d2e1a72fcca58-81f1a4bc032mr9314346b3a.36.1768327706472; Tue, 13 Jan 2026 10:08:26 -0800 (PST) Received: from anonymous ([113.252.77.195]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-81e6772688asm12458869b3a.45.2026.01.13.10.08.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Jan 2026 10:08:26 -0800 (PST) Date: Wed, 14 Jan 2026 02:08:22 +0800 From: kenkinming2002@gmail.com To: Benjamin Tissoires 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 Message-ID: References: <20251225190822.150872-1-kenkinming2002@gmail.com> <3sbccjhicn22ubkbgz23njhsektkrva3b2udaavg2onxmo5uah@2vt472vdjehm> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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