All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: Brian Howard <blhoward2@gmail.com>,
	Kris Fredrick <linux.baguette800@slmail.me>,
	Andrei Shumailov <gentoo1993@gmail.com>,
	Jiri Kosina <jkosina@suse.com>, Sasha Levin <sashal@kernel.org>,
	jikos@kernel.org, bentiss@kernel.org,
	linux-input@vger.kernel.org
Subject: [PATCH AUTOSEL 6.19-6.18] HID: multitouch: add quirks for Lenovo Yoga Book 9i
Date: Fri, 13 Feb 2026 19:59:10 -0500	[thread overview]
Message-ID: <20260214010245.3671907-70-sashal@kernel.org> (raw)
In-Reply-To: <20260214010245.3671907-1-sashal@kernel.org>

From: Brian Howard <blhoward2@gmail.com>

[ Upstream commit 822bc5b3744b0b2c2c9678aa1d80b2cf04fdfabf ]

The Lenovo Yoga Book 9i is a dual-screen laptop, with a single composite
USB device providing both touch and tablet interfaces for both screens.
All inputs report through a single device, differentiated solely by report
numbers. As there is no way for udev to differentiate the inputs based on
USB vendor/product ID or interface numbers, custom naming is required to
match against for downstream configuration. A firmware bug also results
in an erroneous InRange message report being received after the stylus
leaves proximity, blocking later touch events. Add required quirks for
Gen 8 to Gen 10 models, including a new quirk providing for custom input
device naming and dropping erroneous InRange reports.

Signed-off-by: Brian Howard <blhoward2@gmail.com>
Tested-by: Brian Howard <blhoward2@gmail.com>
Tested-by: Kris Fredrick <linux.baguette800@slmail.me>
Reported-by: Andrei Shumailov <gentoo1993@gmail.com>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220386
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---

LLM Generated explanations, may be completely bogus:

Here is my complete analysis:

---

## Commit Analysis: HID: multitouch: add quirks for Lenovo Yoga Book 9i

### 1. COMMIT MESSAGE ANALYSIS

The commit message is clear and well-structured. Key signals:
- **"firmware bug"** explicitly mentioned — erroneous InRange reports
  block touch events
- **Closes: bugzilla.kernel.org/show_bug.cgi?id=220386** — tracked
  kernel bug
- **Reported-by: Andrei Shumailov** — user-reported real-world issue
- **Tested-by** from both the author (Brian Howard) and another user
  (Kris Fredrick) — multiple testers
- **Signed-off-by: Jiri Kosina** — accepted by HID subsystem maintainer

The Lenovo Yoga Book 9i is a dual-screen laptop shipping to consumers.
All touch/stylus inputs are multiplexed through a single USB composite
device.

### 2. CODE CHANGE ANALYSIS

The commit makes changes in **two files** with **73 lines added**:

**a) `drivers/hid/hid-ids.h` — 1 line:**
Adds `USB_DEVICE_ID_LENOVO_YOGABOOK9I 0x6161`. Standard device ID
addition.

**b) `drivers/hid/hid-multitouch.c` — 72 lines across 5 insertion
points:**

1. **New quirk flag** (`MT_QUIRK_YOGABOOK9I BIT(24)`) — follows the
   existing pattern (BIT(23) is `MT_QUIRK_APPLE_TOUCHBAR`).

2. **New device class** (`MT_CLS_YOGABOOK9I 0x0115`) — standard pattern,
   same as `MT_CLS_APPLE_TOUCHBAR 0x0114`, `MT_CLS_SIS 0x0457`, etc.

3. **Class definition in `mt_classes[]`** (~8 lines) — combines existing
   quirk flags (`MT_QUIRK_ALWAYS_VALID`, `MT_QUIRK_FORCE_MULTI_INPUT`,
   `MT_QUIRK_SEPARATE_APP_REPORT`, `MT_QUIRK_HOVERING`) plus the device-
   specific `MT_QUIRK_YOGABOOK9I`. Sets `export_all_inputs = true`. This
   is the exact same pattern used by many existing classes (e.g.,
   `MT_CLS_WIN_8_FORCE_MULTI_INPUT`).

4. **Firmware bug workaround in `mt_report()`** (~30 lines) — **THE
   CRITICAL FIX**: After the stylus leaves proximity, the device
   firmware erroneously sends an all-zero report with InRange set. This
   report is consumed by the multitouch stack and blocks subsequent
   touch events. The fix detects these bogus reports (all relevant
   digitizer fields — InRange, TipSwitch, BarrelSwitch, BarrelSwitch2,
   ContactID, TiltX, TiltY — are zero) and drops them by returning
   early. Without this fix, **touch input becomes non-functional** after
   stylus use.

5. **Custom naming in `mt_input_configured()`** (~20 lines) — Maps
   report IDs to human-readable names (e.g., report 48→"Touchscreen
   Top", 56→"Touchscreen Bottom", 20→"Stylus Top", 40→"Stylus Bottom",
   80→"Emulated Touchpad"). Since all inputs come through a single USB
   device with no interface differentiation, udev has **no other way**
   to distinguish which input corresponds to which physical screen.
   Without this, the dual-screen touchscreen/stylus configuration is
   effectively impossible.

6. **Device ID table entry** (~6 lines) — Standard `HID_DEVICE()` entry
   mapping `USB_VENDOR_ID_LENOVO` + `USB_DEVICE_ID_LENOVO_YOGABOOK9I` to
   `MT_CLS_YOGABOOK9I`.

### 3. CLASSIFICATION

This is a **hardware quirk/workaround**, which falls squarely under the
"QUIRKS and WORKAROUNDS" stable exception:
- Fixes firmware-induced bug that blocks touch events (bug fix)
- Adds device-specific naming for a multiplexed USB device (hardware
  workaround for udev differentiation)
- Uses the well-established `hid-multitouch` quirk framework
- Pattern is identical to Apple Touch Bar, ASUS, SIS, Razer Blade
  Stealth, Smart Tech, and many other device-specific quirk additions

### 4. SCOPE AND RISK ASSESSMENT

**Scope**: 73 lines added across 2 files. All changes are behind a
**device-specific quirk flag** (`MT_QUIRK_YOGABOOK9I`) that is **only
activated** for USB VID:PID `0x17ef:0x6161` (Lenovo Yoga Book 9i).

**Risk**: **EXTREMELY LOW**. The changes:
- Are only triggered for one specific USB device ID
- Do not modify any common code paths
- Do not change behavior for any other hardware
- Use only existing framework constructs (`mt_classes[]` entries, quirk
  flags, `mt_report()` filtering, `mt_input_configured()` naming)
- Are well-tested by multiple users

**Dependencies**: The commit is self-contained. It uses standard HID
definitions (`HID_DG_INRANGE`, `HID_DG_TIPSWITCH`, etc.) and `hid-
multitouch` structures that exist in all current stable trees (v6.1,
v6.6, v6.12). The `for (int ...)` C11 syntax is valid in all stable
trees (kernel uses `-std=gnu11` since v5.18+). The only backport
adjustment needed is the context around BIT(23)/BIT(24) numbering — in
stable trees without `MT_QUIRK_APPLE_TOUCHBAR` (v6.12 and earlier), the
BIT number would need adjustment from 24 to 23. This is a trivial
context fixup.

### 5. USER IMPACT

**HIGH for affected users**: The Lenovo Yoga Book 9i (Gen 8-10) is a
commercially available dual-screen laptop. Without this fix:
- Touch input **stops working** after stylus use (firmware InRange bug)
- Both screens cannot be independently configured (no input
  differentiation)

The bugzilla (#220386) and multiple Reported-by/Tested-by tags confirm
this affects real users.

### 6. STABILITY INDICATORS

- Tested-by from author (Brian Howard) and second tester (Kris Fredrick)
- Signed-off by HID subsystem maintainer (Jiri Kosina)
- Kernel bugzilla with tracking
- Follows well-established pattern in hid-multitouch with many precedent
  quirk additions

### 7. DEPENDENCY CHECK

No dependencies on other patches. The commit is completely self-
contained. All referenced symbols (`HID_DG_INRANGE`, `HID_DG_TIPSWITCH`,
`mt_find_report_data`, `rdata->application->quirks`, `hi->report->id`,
etc.) exist in all current stable kernel trees. Minor context adjustment
may be needed for older stable trees lacking the Apple Touch Bar quirk.

### Verdict

This commit fixes a real firmware bug that **blocks touch events** on
the Lenovo Yoga Book 9i, making the device partially non-functional. It
also provides necessary input naming for the dual-screen device to be
properly configurable. All changes are device-specific hardware quirks
behind a USB VID:PID-gated quirk flag with zero risk to other devices.
The commit follows the well-established hid-multitouch quirk pattern, is
tested by multiple users, and is accepted by the subsystem maintainer.
This is textbook "hardware quirk for a broken device" — exactly the type
of change stable trees are designed to accept.

**YES**

 drivers/hid/hid-ids.h        |  1 +
 drivers/hid/hid-multitouch.c | 72 ++++++++++++++++++++++++++++++++++++
 2 files changed, 73 insertions(+)

diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 9c2bf584d9f6f..5a18cb41e6d79 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -841,6 +841,7 @@
 #define USB_DEVICE_ID_LENOVO_X1_TAB3	0x60b5
 #define USB_DEVICE_ID_LENOVO_X12_TAB	0x60fe
 #define USB_DEVICE_ID_LENOVO_X12_TAB2	0x61ae
+#define USB_DEVICE_ID_LENOVO_YOGABOOK9I	0x6161
 #define USB_DEVICE_ID_LENOVO_OPTICAL_USB_MOUSE_600E	0x600e
 #define USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_608D	0x608d
 #define USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_6019	0x6019
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index b1c3ef1290587..f21850f7d89e4 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -76,6 +76,7 @@ MODULE_LICENSE("GPL");
 #define MT_QUIRK_DISABLE_WAKEUP		BIT(21)
 #define MT_QUIRK_ORIENTATION_INVERT	BIT(22)
 #define MT_QUIRK_APPLE_TOUCHBAR		BIT(23)
+#define MT_QUIRK_YOGABOOK9I		BIT(24)
 
 #define MT_INPUTMODE_TOUCHSCREEN	0x02
 #define MT_INPUTMODE_TOUCHPAD		0x03
@@ -231,6 +232,7 @@ static void mt_post_parse(struct mt_device *td, struct mt_application *app);
 #define MT_CLS_RAZER_BLADE_STEALTH		0x0112
 #define MT_CLS_SMART_TECH			0x0113
 #define MT_CLS_APPLE_TOUCHBAR			0x0114
+#define MT_CLS_YOGABOOK9I			0x0115
 #define MT_CLS_SIS				0x0457
 
 #define MT_DEFAULT_MAXCONTACT	10
@@ -427,6 +429,14 @@ static const struct mt_class mt_classes[] = {
 		.quirks = MT_QUIRK_NOT_SEEN_MEANS_UP |
 			MT_QUIRK_ALWAYS_VALID |
 			MT_QUIRK_CONTACT_CNT_ACCURATE,
+	},
+		{ .name = MT_CLS_YOGABOOK9I,
+		.quirks = MT_QUIRK_ALWAYS_VALID |
+			MT_QUIRK_FORCE_MULTI_INPUT |
+			MT_QUIRK_SEPARATE_APP_REPORT |
+			MT_QUIRK_HOVERING |
+			MT_QUIRK_YOGABOOK9I,
+		.export_all_inputs = true
 	},
 	{ }
 };
@@ -1576,6 +1586,38 @@ static void mt_report(struct hid_device *hid, struct hid_report *report)
 	if (rdata && rdata->is_mt_collection)
 		return mt_touch_report(hid, rdata);
 
+	/* Lenovo Yoga Book 9i requires consuming and dropping certain bogus reports */
+	if (rdata && rdata->application &&
+		(rdata->application->quirks & MT_QUIRK_YOGABOOK9I)) {
+
+		bool all_zero_report = true;
+
+		for (int f = 0; f < report->maxfield && all_zero_report; f++) {
+			struct hid_field *fld = report->field[f];
+
+			for (int i = 0; i < fld->report_count; i++) {
+				unsigned int usage = fld->usage[i].hid;
+
+				if (usage == HID_DG_INRANGE ||
+					usage == HID_DG_TIPSWITCH ||
+					usage == HID_DG_BARRELSWITCH ||
+					usage == HID_DG_BARRELSWITCH2 ||
+					usage == HID_DG_CONTACTID ||
+					usage == HID_DG_TILT_X ||
+					usage == HID_DG_TILT_Y) {
+
+					if (fld->value[i] != 0) {
+						all_zero_report = false;
+						break;
+					}
+				}
+			}
+		}
+
+		if (all_zero_report)
+			return;
+	}
+
 	if (field && field->hidinput && field->hidinput->input)
 		input_sync(field->hidinput->input);
 }
@@ -1772,6 +1814,30 @@ static int mt_input_configured(struct hid_device *hdev, struct hid_input *hi)
 		break;
 	}
 
+	/* Lenovo Yoga Book 9i requires custom naming to allow differentiation in udev */
+	if (hi->report && td->mtclass.quirks & MT_QUIRK_YOGABOOK9I) {
+		switch (hi->report->id) {
+		case 48:
+			suffix = "Touchscreen Top";
+			break;
+		case 56:
+			suffix = "Touchscreen Bottom";
+			break;
+		case 20:
+			suffix = "Stylus Top";
+			break;
+		case 40:
+			suffix = "Stylus Bottom";
+			break;
+		case 80:
+			suffix = "Emulated Touchpad";
+			break;
+		default:
+			suffix = "";
+			break;
+		}
+	}
+
 	if (suffix) {
 		hi->input->name = devm_kasprintf(&hdev->dev, GFP_KERNEL,
 						 "%s %s", hdev->name, suffix);
@@ -2277,6 +2343,12 @@ static const struct hid_device_id mt_devices[] = {
 			   USB_VENDOR_ID_LENOVO,
 			   USB_DEVICE_ID_LENOVO_X12_TAB2) },
 
+	/* Lenovo Yoga Book 9i */
+	{ .driver_data = MT_CLS_YOGABOOK9I,
+		HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH_WIN_8,
+			   USB_VENDOR_ID_LENOVO,
+			   USB_DEVICE_ID_LENOVO_YOGABOOK9I) },
+
 	/* Logitech devices */
 	{ .driver_data = MT_CLS_NSMU,
 		HID_DEVICE(BUS_BLUETOOTH, HID_GROUP_MULTITOUCH_WIN_8,
-- 
2.51.0


  parent reply	other threads:[~2026-02-14  1:05 UTC|newest]

Thread overview: 129+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-14  0:58 [PATCH AUTOSEL 6.19-6.12] media: ipu6: Close firmware streams on streaming enable failure Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.10] ASoC: wm8962: Add WM8962_ADC_MONOMIX to "3D Coefficients" mask Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.15] HID: elecom: Add support for ELECOM HUGE Plus M-HT1MRBK Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.15] drm/v3d: Set DMA segment size to avoid debug warnings Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] media: chips-media: wave5: Fix conditional in start_streaming Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.1] spi-geni-qcom: initialize mode related registers to 0 Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.10] HID: multitouch: add eGalaxTouch EXC3188 support Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] media: mt9m114: Avoid a reset low spike during probe() Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.10] media: omap3isp: isp_video_mbus_to_pix/pix_to_mbus fixes Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.1] media: amphion: Clear last_buffer_dequeued flag for DEC_CMD_START Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] drm/xe: Only toggle scheduling in TDR if GuC is running Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] spi: cadence-qspi: Try hard to disable the clocks Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.10] media: adv7180: fix frame interval in progressive mode Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.15] drm/amdkfd: Fix GART PTE for non-4K pagesize in svm_migrate_gart_map() Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] HID: pidff: Do not set out of range trigger button Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] drm/amd/display: Fix DP no audio issue Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] drm/panel-edp: Add AUO B140QAX01.H panel Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] drm/amd/display: avoid dig reg access timeout on usb4 link training fail Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] ASoC: fsl: imx-rpmsg: use snd_soc_find_dai_with_mutex() in probe Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.6] spi: spi-mem: Limit octal DTR constraints to octal DTR situations Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] drm/amd/pm: Fix null pointer dereference issue Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] drm/amd/display: Fix wrong x_pos and y_pos for cursor offload Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] ASoC: sdw_utils: remove dai registered check Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] ALSA: hda: controllers: intel: add support for Nova Lake Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.10] drm/atmel-hlcdc: fix use-after-free of drm_crtc_commit after release Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.15] spi: stm32: fix Overrun issue at < 8bpw Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.10] drm/atmel-hlcdc: fix memory leak from the atomic_destroy_state callback Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] drm/amd/display: Revert "init dispclk from bootup clock for DCN315" Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] drm/xe: Covert return of -EBUSY to -ENOMEM in VM bind IOCTL Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.6] spi-geni-qcom: use xfer->bits_per_word for can_dma() Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] hwmon: (asus-ec-sensors) add Pro WS TRX50-SAGE WIFI A Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] drm/amd/display: Disable FEC when powering down encoders Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] ALSA: usb-audio: Add DSD support for iBasso DC04U Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] drm/amdgpu: fix NULL pointer issue buffer funcs Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.10] media: cx25821: Fix a resource leak in cx25821_dev_setup() Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] drm/amd/display: Add USB-C DP Alt Mode lane limitation in DCN32 Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] drm: renesas: rz-du: mipi_dsi: fix kernel panic when rebooting for some panels Sasha Levin
2026-02-16 14:52   ` Hugo Villeneuve
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] drm/amdgpu: fix the calculation of RAS bad page number Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] HID: logitech-hidpp: Add support for Logitech K980 Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] drm/xe/vm: Skip ufence association for CPU address mirror VMA during MAP Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.1] ASoC: codecs: max98390: Check return value of devm_gpiod_get_optional() in max98390_i2c_probe() Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.6] media: v4l2-async: Fix error handling on steps after finding a match Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] PCI: Add Intel Nova Lake audio Device ID Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.1] media: rkisp1: Fix filter mode register configuration Sasha Levin
2026-02-14  0:58   ` Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] hwmon: (nct6683) Add customer ID for ASRock Z590 Taichi Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] ASoC: qcom: q6asm: drop DSP responses for closed data streams Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] drm/amd/display: Guard FAMS2 configuration updates Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] drm/amdgpu: mark invalid records with U64_MAX Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] drm/amd/display: Fix dsc eDP issue Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] media: ipu6: Ensure stream_mutex is acquired when dealing with node list Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.18] drm/xe/ggtt: Use scope-based runtime pm Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] media: mt9m114: Return -EPROBE_DEFER if no endpoint is found Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] drm/amdgpu: Skip loading SDMA_RS64 in VF Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.15] drm/atmel-hlcdc: don't reject the commit if the src rect has fractional parts Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] ALSA: hda/realtek: Add quirk for Minisforum V3 SE Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-5.10] ASoC: es8328: Add error unwind in resume Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19] ALSA: ctxfi: Add quirk for SE-300PCIE variant (160b:0102) Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.1] drm/display/dp_mst: Add protection against 0 vcpi Sasha Levin
2026-02-14  0:58 ` [PATCH AUTOSEL 6.19-6.12] drm/panel: Fix a possible null-pointer dereference in jdi_panel_dsi_remove() Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] media: uvcvideo: Create an ID namespace for streaming output terminals Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-5.10] hyper-v: Mark inner union in hv_kvp_exchg_msg_value as packed Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] media: ipu6: Always close firmware stream Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] ALSA: hda/realtek - Enable mute LEDs on HP ENVY x360 15-es0xxx Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-5.10] media: omap3isp: set initial format Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] drm/amdgpu/ras: Move ras data alloc before bad page check Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.6] drm/amdgpu: avoid a warning in timedout job handler Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] ALSA: mixer: oss: Add card disconnect checkpoints Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] media: qcom: camss: Do not enable cpas fast ahb clock for SM8550 VFE lite Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-5.10] media: solo6x10: Check for out of bounds chip_id Sasha Levin
2026-02-14  0:59 ` Sasha Levin [this message]
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] drm/amdkfd: Relax size checking during queue buffer get Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] drm/amd/display: Fix GFX12 family constant checks Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] ALSA: usb-audio: presonus s18xx uses little-endian Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-5.10] gpio: aspeed-sgpio: Change the macro to support deferred probe Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-5.10] drm: Account property blob allocations to memcg Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] ALSA: hda/realtek: fix LG Gram Style 14 speakers Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] ASoC: SOF: Intel: hda: Fix NULL pointer dereference Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.1] hwmon: (f71882fg) Add F81968 support Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] spi: cadence-quadspi: Parse DT for flashes with the rest of the DT parsing Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] drm/amdkfd: Handle GPU reset and drain retry fault race Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19] spi: cadence-qspi: Fix probe error path and remove Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-5.10] virt: vbox: uapi: Mark inner unions in packed structs as packed Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19] drm/amd/display: Correct DSC padding accounting Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19] drm/amd/display: Revert "init dispclk from bootup clock for DCN314" Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19] drm/atmel-hlcdc: destroy properly the plane state in the reset callback Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] drm/amdgpu: Refactor amdgpu_gem_va_ioctl for Handling Last Fence Update and Timeline Management v4 Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.6] drm/amd/display: Ensure link output is disabled in backend reset for PLL_ON Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] hwmon: (emc2305) Fix a resource leak in emc2305_of_parse_pwm_child Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-5.10] modpost: Amend ppc64 save/restfpr symnames for -Os build Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.6] drm/amdgpu: add support for HDP IP version 6.1.1 Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.1] HID: apple: Add "SONiX KN85 Keyboard" to the list of non-apple keyboards Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] gpu/panel-edp: add AUO panel entry for B140HAN06.4 Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] drm/amdgpu: validate user queue size constraints Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] drm/amd/display: Correct FIXED_VS Link Rate Toggle Condition Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19] drm/amd/display: Fix mismatched unlock for DMUB HW lock in HWSS fast path Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.6] hwmon: (nct6775) Add ASUS Pro WS WRX90E-SAGE SE Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] hwmon: (nct7363) Fix a resource leak in nct7363_present_pwm_fanin Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19] ASoC: soc-acpi-intel-ptl-match: use aggregated endpoint in ptl_rt722_l0_rt1320_l23 Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] gpio: pca953x: Add support for TCAL6408 TCAL6416 Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] media: chips-media: wave5: Process ready frames when CMD_STOP sent to Encoder Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] ASoC: SOF: ipc4: Support for sending payload along with LARGE_CONFIG_GET Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.6] ALSA: hda/conexant: Add headset mic fix for MECHREVO Wujie 15X Pro Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] accel/amdxdna: Fix tail-pointer polling in mailbox_get_msg() Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19] drm/panel-edp: Add CSW MNE007QB3-1 Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] cgroup/cpuset: Don't fail cpuset.cpus change in v2 Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] drm/amd/display: only power down dig on phy endpoints Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-5.10] media: pvrusb2: fix URB leak in pvr2_send_request_ex Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] power: sequencing: fix missing state_lock in pwrseq_power_on() error path Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-5.10] media: dvb-core: dmxdevfilter must always flush bufs Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.6] media: mediatek: vcodec: Don't try to decode 422/444 VP9 Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] drm/panthor: Always wait after sending a command to an AS Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] drm/panel: edp: add BOE NV140WUM-T08 panel Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] ASoC: soc-acpi-intel-arl-match: change rt722 amp endpoint to aggregated Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19] drm/amd/display: Adjust PHY FSM transition to TX_EN-to-PLL_ON for TMDS on DCN35 Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-5.15] ALSA: usb-audio: Add iface reset and delay quirk for AB13X USB Audio Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] ALSA: hda/realtek: add HP Victus 16-e0xxx mute LED quirk Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.18] drm/xe/xe3_lpg: Apply Wa_16028005424 Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19] drm/ast: Swap framebuffer writes on big-endian machines Sasha Levin
2026-02-14  0:59 ` [PATCH AUTOSEL 6.19-6.12] spi: geni-qcom: Fix abort sequence execution for serial engine errors Sasha Levin
2026-02-14  1:00 ` [PATCH AUTOSEL 6.19-5.10] spi: spi-mem: Protect dirmap_create() with spi_mem_access_start/end Sasha Levin
2026-02-14  1:00 ` [PATCH AUTOSEL 6.19-5.10] ASoC: wm8962: Don't report a microphone if it's shorted to ground on plug Sasha Levin
2026-02-14  1:00 ` [PATCH AUTOSEL 6.19-6.1] ASoC: sunxi: sun50i-dmic: Add missing check for devm_regmap_init_mmio Sasha Levin
2026-02-14  1:00 ` [PATCH AUTOSEL 6.19-6.12] hwmon: (dell-smm) Add support for Dell OptiPlex 7080 Sasha Levin
2026-02-14  1:00 ` [PATCH AUTOSEL 6.19-6.18] drm/amd/display: Don't disable DPCD mst_en if sink connected Sasha Levin
2026-02-14  1:00 ` [PATCH AUTOSEL 6.19-5.10] media: omap3isp: isppreview: always clamp in preview_try_format() Sasha Levin
2026-02-14  1:00 ` [PATCH AUTOSEL 6.19] ALSA: hda/realtek - Enable Mute LED for Lenovo platform Sasha Levin
2026-02-14  1:00 ` [PATCH AUTOSEL 6.19-6.12] drm/amd/display: Add signal type check for dcn401 get_phyd32clk_src Sasha Levin

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=20260214010245.3671907-70-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=bentiss@kernel.org \
    --cc=blhoward2@gmail.com \
    --cc=gentoo1993@gmail.com \
    --cc=jikos@kernel.org \
    --cc=jkosina@suse.com \
    --cc=linux-input@vger.kernel.org \
    --cc=linux.baguette800@slmail.me \
    --cc=patches@lists.linux.dev \
    --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.