From fbc8dff3d22b2913076fa3630ed3da7002a81efa Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 26 Jan 2026 14:27:04 +0100 Subject: [PATCH] 5.10-stable patches added patches: iio-imu-st_lsm6dsx-fix-iio_chan_spec-for-sensors-without-event-detection.patch input-i8042-add-quirk-for-asus-zenbook-ux425qa_um425qa.patch input-i8042-add-quirks-for-mechrevo-wujie-15x-pro.patch scsi-storvsc-process-unsupported-mode_sense_10.patch --- ...-for-sensors-without-event-detection.patch | 68 +++++++++++++++++++ ...irk-for-asus-zenbook-ux425qa_um425qa.patch | 48 +++++++++++++ ...dd-quirks-for-mechrevo-wujie-15x-pro.patch | 38 +++++++++++ ...sc-process-unsupported-mode_sense_10.patch | 44 ++++++++++++ queue-5.10/series | 4 ++ 5 files changed, 202 insertions(+) create mode 100644 queue-5.10/iio-imu-st_lsm6dsx-fix-iio_chan_spec-for-sensors-without-event-detection.patch create mode 100644 queue-5.10/input-i8042-add-quirk-for-asus-zenbook-ux425qa_um425qa.patch create mode 100644 queue-5.10/input-i8042-add-quirks-for-mechrevo-wujie-15x-pro.patch create mode 100644 queue-5.10/scsi-storvsc-process-unsupported-mode_sense_10.patch diff --git a/queue-5.10/iio-imu-st_lsm6dsx-fix-iio_chan_spec-for-sensors-without-event-detection.patch b/queue-5.10/iio-imu-st_lsm6dsx-fix-iio_chan_spec-for-sensors-without-event-detection.patch new file mode 100644 index 0000000000..3e96367e36 --- /dev/null +++ b/queue-5.10/iio-imu-st_lsm6dsx-fix-iio_chan_spec-for-sensors-without-event-detection.patch @@ -0,0 +1,68 @@ +From c34e2e2d67b3bb8d5a6d09b0d6dac845cdd13fb3 Mon Sep 17 00:00:00 2001 +From: Francesco Lavra +Date: Mon, 1 Dec 2025 11:00:10 +0100 +Subject: iio: imu: st_lsm6dsx: fix iio_chan_spec for sensors without event detection + +From: Francesco Lavra + +commit c34e2e2d67b3bb8d5a6d09b0d6dac845cdd13fb3 upstream. + +The st_lsm6dsx_acc_channels array of struct iio_chan_spec has a non-NULL +event_spec field, indicating support for IIO events. However, event +detection is not supported for all sensors, and if userspace tries to +configure accelerometer wakeup events on a sensor device that does not +support them (e.g. LSM6DS0), st_lsm6dsx_write_event() dereferences a NULL +pointer when trying to write to the wakeup register. +Define an additional struct iio_chan_spec array whose members have a NULL +event_spec field, and use this array instead of st_lsm6dsx_acc_channels for +sensors without event detection capability. + +Fixes: b5969abfa8b8 ("iio: imu: st_lsm6dsx: add motion events") +Signed-off-by: Francesco Lavra +Reviewed-by: Andy Shevchenko +Acked-by: Lorenzo Bianconi +Cc: stable@vger.kernel.org +Signed-off-by: Jonathan Cameron +Signed-off-by: Greg Kroah-Hartman +--- + drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c | 15 +++++++++++---- + 1 file changed, 11 insertions(+), 4 deletions(-) + +--- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c ++++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c +@@ -74,6 +74,13 @@ static const struct iio_chan_spec st_lsm + IIO_CHAN_SOFT_TIMESTAMP(3), + }; + ++static const struct iio_chan_spec st_lsm6ds0_acc_channels[] = { ++ ST_LSM6DSX_CHANNEL(IIO_ACCEL, 0x28, IIO_MOD_X, 0), ++ ST_LSM6DSX_CHANNEL(IIO_ACCEL, 0x2a, IIO_MOD_Y, 1), ++ ST_LSM6DSX_CHANNEL(IIO_ACCEL, 0x2c, IIO_MOD_Z, 2), ++ IIO_CHAN_SOFT_TIMESTAMP(3), ++}; ++ + static const struct iio_chan_spec st_lsm6dsx_gyro_channels[] = { + ST_LSM6DSX_CHANNEL(IIO_ANGL_VEL, 0x22, IIO_MOD_X, 0), + ST_LSM6DSX_CHANNEL(IIO_ANGL_VEL, 0x24, IIO_MOD_Y, 1), +@@ -115,8 +122,8 @@ static const struct st_lsm6dsx_settings + }, + .channels = { + [ST_LSM6DSX_ID_ACC] = { +- .chan = st_lsm6dsx_acc_channels, +- .len = ARRAY_SIZE(st_lsm6dsx_acc_channels), ++ .chan = st_lsm6ds0_acc_channels, ++ .len = ARRAY_SIZE(st_lsm6ds0_acc_channels), + }, + [ST_LSM6DSX_ID_GYRO] = { + .chan = st_lsm6ds0_gyro_channels, +@@ -1170,8 +1177,8 @@ static const struct st_lsm6dsx_settings + }, + .channels = { + [ST_LSM6DSX_ID_ACC] = { +- .chan = st_lsm6dsx_acc_channels, +- .len = ARRAY_SIZE(st_lsm6dsx_acc_channels), ++ .chan = st_lsm6ds0_acc_channels, ++ .len = ARRAY_SIZE(st_lsm6ds0_acc_channels), + }, + [ST_LSM6DSX_ID_GYRO] = { + .chan = st_lsm6dsx_gyro_channels, diff --git a/queue-5.10/input-i8042-add-quirk-for-asus-zenbook-ux425qa_um425qa.patch b/queue-5.10/input-i8042-add-quirk-for-asus-zenbook-ux425qa_um425qa.patch new file mode 100644 index 0000000000..4914ca904c --- /dev/null +++ b/queue-5.10/input-i8042-add-quirk-for-asus-zenbook-ux425qa_um425qa.patch @@ -0,0 +1,48 @@ +From 2934325f56150ad8dab8ab92cbe2997242831396 Mon Sep 17 00:00:00 2001 +From: feng +Date: Sat, 24 Jan 2026 21:44:12 -0800 +Subject: Input: i8042 - add quirk for ASUS Zenbook UX425QA_UM425QA + +From: feng + +commit 2934325f56150ad8dab8ab92cbe2997242831396 upstream. + +The ASUS Zenbook UX425QA_UM425QA fails to initialize the keyboard after +a cold boot. + +A quirk already exists for "ZenBook UX425", but some Zenbooks report +"Zenbook" with a lowercase 'b'. Since DMI matching is case-sensitive, +the existing quirk is not applied to these "extra special" Zenbooks. + +Testing confirms that this model needs the same quirks as the ZenBook +UX425 variants. + +Signed-off-by: feng +Link: https://patch.msgid.link/20260122013957.11184-1-alec.jiang@gmail.com +Cc: stable@vger.kernel.org +Signed-off-by: Dmitry Torokhov +Signed-off-by: Greg Kroah-Hartman +--- + drivers/input/serio/i8042-acpipnpio.h | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +--- a/drivers/input/serio/i8042-acpipnpio.h ++++ b/drivers/input/serio/i8042-acpipnpio.h +@@ -114,6 +114,17 @@ static const struct dmi_system_id i8042_ + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_NEVER) + }, + { ++ /* ++ * ASUS Zenbook UX425QA_UM425QA ++ * Some Zenbooks report "Zenbook" with a lowercase b. ++ */ ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), ++ DMI_MATCH(DMI_PRODUCT_NAME, "Zenbook UX425QA_UM425QA"), ++ }, ++ .driver_data = (void *)(SERIO_QUIRK_PROBE_DEFER | SERIO_QUIRK_RESET_NEVER) ++ }, ++ { + /* ASUS ZenBook UX425UA */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), diff --git a/queue-5.10/input-i8042-add-quirks-for-mechrevo-wujie-15x-pro.patch b/queue-5.10/input-i8042-add-quirks-for-mechrevo-wujie-15x-pro.patch new file mode 100644 index 0000000000..4ea2fe40bb --- /dev/null +++ b/queue-5.10/input-i8042-add-quirks-for-mechrevo-wujie-15x-pro.patch @@ -0,0 +1,38 @@ +From 19a5d9ba6208e9006a2a9d5962aea4d6e427d8ab Mon Sep 17 00:00:00 2001 +From: gongqi <550230171hxy@gmail.com> +Date: Thu, 22 Jan 2026 23:54:59 +0800 +Subject: Input: i8042 - add quirks for MECHREVO Wujie 15X Pro + +From: gongqi <550230171hxy@gmail.com> + +commit 19a5d9ba6208e9006a2a9d5962aea4d6e427d8ab upstream. + +The MECHREVO Wujie 15X Pro requires several i8042 quirks to function +correctly. Specifically, NOMUX, RESET_ALWAYS, NOLOOP, and NOPNP are +needed to ensure the keyboard and touchpad work reliably. + +Signed-off-by: gongqi <550230171hxy@gmail.com> +Link: https://patch.msgid.link/20260122155501.376199-3-550230171hxy@gmail.com +Cc: stable@vger.kernel.org +Signed-off-by: Dmitry Torokhov +Signed-off-by: Greg Kroah-Hartman +--- + drivers/input/serio/i8042-acpipnpio.h | 7 +++++++ + 1 file changed, 7 insertions(+) + +--- a/drivers/input/serio/i8042-acpipnpio.h ++++ b/drivers/input/serio/i8042-acpipnpio.h +@@ -1176,6 +1176,13 @@ static const struct dmi_system_id i8042_ + .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | + SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) + }, ++ { ++ .matches = { ++ DMI_MATCH(DMI_BOARD_NAME, "WUJIE Series-X5SP4NAG"), ++ }, ++ .driver_data = (void *)(SERIO_QUIRK_NOMUX | SERIO_QUIRK_RESET_ALWAYS | ++ SERIO_QUIRK_NOLOOP | SERIO_QUIRK_NOPNP) ++ }, + /* + * A lot of modern Clevo barebones have touchpad and/or keyboard issues + * after suspend fixable with nomux + reset + noloop + nopnp. Luckily, diff --git a/queue-5.10/scsi-storvsc-process-unsupported-mode_sense_10.patch b/queue-5.10/scsi-storvsc-process-unsupported-mode_sense_10.patch new file mode 100644 index 0000000000..214ebcd5b4 --- /dev/null +++ b/queue-5.10/scsi-storvsc-process-unsupported-mode_sense_10.patch @@ -0,0 +1,44 @@ +From 9eacec5d18f98f89be520eeeef4b377acee3e4b8 Mon Sep 17 00:00:00 2001 +From: Long Li +Date: Fri, 16 Jan 2026 17:03:02 -0800 +Subject: scsi: storvsc: Process unsupported MODE_SENSE_10 + +From: Long Li + +commit 9eacec5d18f98f89be520eeeef4b377acee3e4b8 upstream. + +The Hyper-V host does not support MODE_SENSE_10 and MODE_SENSE. The +driver handles MODE_SENSE as unsupported command, but not for +MODE_SENSE_10. Add MODE_SENSE_10 to the same handling logic and return +correct code to SCSI layer. + +Fixes: 89ae7d709357 ("Staging: hv: storvsc: Move the storage driver out of the staging area") +Cc: stable@kernel.org +Signed-off-by: Long Li +Reviewed-by: Michael Kelley +Link: https://patch.msgid.link/20260117010302.294068-1-longli@linux.microsoft.com +Signed-off-by: Martin K. Petersen +Signed-off-by: Greg Kroah-Hartman +--- + drivers/scsi/storvsc_drv.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/scsi/storvsc_drv.c ++++ b/drivers/scsi/storvsc_drv.c +@@ -1154,7 +1154,7 @@ static void storvsc_on_io_completion(str + * The current SCSI handling on the host side does + * not correctly handle: + * INQUIRY command with page code parameter set to 0x80 +- * MODE_SENSE command with cmd[2] == 0x1c ++ * MODE_SENSE and MODE_SENSE_10 command with cmd[2] == 0x1c + * MAINTENANCE_IN is not supported by HyperV FC passthrough + * + * Setup srb and scsi status so this won't be fatal. +@@ -1164,6 +1164,7 @@ static void storvsc_on_io_completion(str + + if ((stor_pkt->vm_srb.cdb[0] == INQUIRY) || + (stor_pkt->vm_srb.cdb[0] == MODE_SENSE) || ++ (stor_pkt->vm_srb.cdb[0] == MODE_SENSE_10) || + (stor_pkt->vm_srb.cdb[0] == MAINTENANCE_IN && + hv_dev_is_fc(device))) { + vstor_packet->vm_srb.scsi_status = 0; diff --git a/queue-5.10/series b/queue-5.10/series index 192fc71743..eeafbfc539 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -64,3 +64,7 @@ net-sched-qfq-use-cl_is_active-to-determine-whether-.patch crypto-authencesn-reject-too-short-aad-assoclen-8-to.patch comedi-dmm32at-serialize-use-of-paged-registers.patch w1-fix-redundant-counter-decrement-in-w1_attach_slave_device.patch +input-i8042-add-quirks-for-mechrevo-wujie-15x-pro.patch +input-i8042-add-quirk-for-asus-zenbook-ux425qa_um425qa.patch +scsi-storvsc-process-unsupported-mode_sense_10.patch +iio-imu-st_lsm6dsx-fix-iio_chan_spec-for-sensors-without-event-detection.patch -- 2.47.3