Re: [PATCH v14 0/2] Lenovo Yoga Book 9 keyboard dock detection
Dave Carey <[email protected]> Tue, 28 Jul 2026 18:01:32 -0400
| Newsgroups | org.kernel.vger.platform-driver-x86,org.kernel.vger.linux-input,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Got it. Thanks again for your patience. Putting together, hopefully the final version for this patch and re-submitting. Cheers! -Dave On 7/24/26 7:42 AM, Ilpo Järvinen wrote: > On Wed, 22 Jul 2026, Dave Carey wrote: > >> Changes in v14 (addressing Ilpo Järvinen's v13 review of patch 2/2): >> >> - Restore #include <linux/compiler_attributes.h> and <linux/spinlock.h>, >> which were accidentally absent from v13. >> - Restore spinlock_t lock in struct yb9_kbdock_data, spin_lock_init(), >> and spin_lock/spin_unlock around input_report_switch + input_sync >> in yb9_kbdock_report(). >> - Restore pointer-out yb9_kbdock_query(d, u32 *bkbd) and removal of >> zero-initializer from struct wmi_buffer out. >> - Restore int return from yb9_kbdock_sync() and error propagation in >> yb9_kbdock_resume() and yb9_kbdock_block_probe(). > Hi, > > Unfortunately, this still seems to miss one non-cosmetic change (diff of > diffs, v12 vs v14): > > diff --git a/drivers/platform/x86/lenovo/yb9-kbdock.c b/drivers/platform/x86/lenovo/yb9> > new file mode 100644 > -index 0000000..0000000 > +index 0000000..40a2566 > --- /dev/null > +++ b/drivers/platform/x86/lenovo/yb9-kbdock.c > -@@ -0,0 +1,322 @@ > +@@ -0,0 +1,324 @@ > +// SPDX-License-Identifier: GPL-2.0-or-later > +/* > + * Lenovo Yoga Book 9 keyboard-dock detection > @@ -421,8 +449,10 @@ > + /* > + * _WED(0xEB) returns EC.BKBD directly as a 32-bit integer > + * (LENOVO_BTKBD_EVENT WmiDataId(1) uint32 Status). > -+ * Short-buffer guard is handled by .min_event_size below. > + */ > ++ if (!data || data->length < sizeof(__le32)) > ++ return; > ++ > + u32 bkbd = le32_to_cpu(*(const __le32 *)data->data); > + > + blocking_notifier_call_chain(&yb9_kbdock_chain_head, bkbd, NULL); > @@ -441,7 +471,6 @@ > + .id_table = yb9_kbdock_event_id_table, > + .no_singleton = true, > + .notify_new = yb9_kbdock_notify_new, > -+ .min_event_size = sizeof(__le32), > +}; > + > +/* ------------------------------------------------------------------ > > >> Changes in v13: > [...snip...] > >> Changes in v10 (addressing Armin Wolf's v9 review of patch 2/2): > [...snip...] > >> - yb9_kbdock_notify_new(): drop manual length check; use >> .min_event_size = sizeof(__le32) in struct wmi_driver instead >> >> Patch 1/2 (lenovo-ymc) is unchanged from v9. > > ...And there's no need to apologize. :-) > > > I personally keep earlier versions of the patches I've sent myself around > as files so I can easily do diff-of-diffs against the previous version. It > has saved me sooo many time from making fool of myself. > > I actually normally write the patch version history bullets based on that > diff so I won't forget anything important from it. Nor hallucinate some > changes that I thought I'd made but didn't (=> back to the drawing board). > > > If you need the old version you can probably get them from lore archive if > you don't have them around anymore (but by not placing them cleanly into > own threads one needs to be careful to get the right ones). >