From 7db2d43be0f9bbdd8b75fb05ce29a5dac8172bed Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 29 Apr 2025 16:53:52 +0200 Subject: [PATCH] 6.14-stable patches added patches: crypto-kconfig-select-lib-generic-option.patch crypto-lib-kconfig-hide-arch-options-from-user.patch media-i2c-imx214-fix-uninitialized-variable-in-imx214_set_ctrl.patch mips-cm-fix-warning-if-mips_cm-is-disabled.patch net-phy-dp83822-fix-transmit-amplitude-if-config_of_mdio-not-defined.patch nvme-fixup-scan-failure-for-non-ana-multipath-controllers.patch objtool-ignore-end-of-section-jumps-for-kcov-gcov.patch objtool-silence-more-kcov-warnings-part-2.patch rust-kbuild-skip-remap-path-prefix-for-rustdoc.patch ublk-don-t-fail-request-for-recovery-reissue-in-case-of-ubq-canceling.patch usb-xhci-fix-short-packet-handling-rework-ignoring-errors.patch --- ...to-kconfig-select-lib-generic-option.patch | 49 +++ ...-kconfig-hide-arch-options-from-user.patch | 380 ++++++++++++++++++ ...tialized-variable-in-imx214_set_ctrl.patch | 36 ++ ...m-fix-warning-if-mips_cm-is-disabled.patch | 38 ++ ...litude-if-config_of_mdio-not-defined.patch | 42 ++ ...re-for-non-ana-multipath-controllers.patch | 36 ++ ...e-end-of-section-jumps-for-kcov-gcov.patch | 102 +++++ ...ol-silence-more-kcov-warnings-part-2.patch | 46 +++ ...d-skip-remap-path-prefix-for-rustdoc.patch | 65 +++ queue-6.14/series | 11 + ...ery-reissue-in-case-of-ubq-canceling.patch | 70 ++++ ...cket-handling-rework-ignoring-errors.patch | 56 +++ 12 files changed, 931 insertions(+) create mode 100644 queue-6.14/crypto-kconfig-select-lib-generic-option.patch create mode 100644 queue-6.14/crypto-lib-kconfig-hide-arch-options-from-user.patch create mode 100644 queue-6.14/media-i2c-imx214-fix-uninitialized-variable-in-imx214_set_ctrl.patch create mode 100644 queue-6.14/mips-cm-fix-warning-if-mips_cm-is-disabled.patch create mode 100644 queue-6.14/net-phy-dp83822-fix-transmit-amplitude-if-config_of_mdio-not-defined.patch create mode 100644 queue-6.14/nvme-fixup-scan-failure-for-non-ana-multipath-controllers.patch create mode 100644 queue-6.14/objtool-ignore-end-of-section-jumps-for-kcov-gcov.patch create mode 100644 queue-6.14/objtool-silence-more-kcov-warnings-part-2.patch create mode 100644 queue-6.14/rust-kbuild-skip-remap-path-prefix-for-rustdoc.patch create mode 100644 queue-6.14/ublk-don-t-fail-request-for-recovery-reissue-in-case-of-ubq-canceling.patch create mode 100644 queue-6.14/usb-xhci-fix-short-packet-handling-rework-ignoring-errors.patch diff --git a/queue-6.14/crypto-kconfig-select-lib-generic-option.patch b/queue-6.14/crypto-kconfig-select-lib-generic-option.patch new file mode 100644 index 0000000000..e6b571a8ad --- /dev/null +++ b/queue-6.14/crypto-kconfig-select-lib-generic-option.patch @@ -0,0 +1,49 @@ +From 98330b9a61506de7df0d1725122111909c157864 Mon Sep 17 00:00:00 2001 +From: Herbert Xu +Date: Mon, 3 Mar 2025 11:09:06 +0800 +Subject: crypto: Kconfig - Select LIB generic option + +From: Herbert Xu + +commit 98330b9a61506de7df0d1725122111909c157864 upstream. + +Select the generic LIB options if the Crypto API algorithm is +enabled. Otherwise this may lead to a build failure as the Crypto +API algorithm always uses the generic implementation. + +Fixes: 17ec3e71ba79 ("crypto: lib/Kconfig - Hide arch options from user") +Reported-by: kernel test robot +Closes: https://lore.kernel.org/oe-kbuild-all/202503022113.79uEtUuy-lkp@intel.com/ +Closes: https://lore.kernel.org/oe-kbuild-all/202503022115.9OOyDR5A-lkp@intel.com/ +Signed-off-by: Herbert Xu +Signed-off-by: Greg Kroah-Hartman +--- + crypto/Kconfig | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/crypto/Kconfig ++++ b/crypto/Kconfig +@@ -317,6 +317,7 @@ config CRYPTO_ECRDSA + config CRYPTO_CURVE25519 + tristate "Curve25519" + select CRYPTO_KPP ++ select CRYPTO_LIB_CURVE25519_GENERIC + select CRYPTO_LIB_CURVE25519_INTERNAL + help + Curve25519 elliptic curve (RFC7748) +@@ -615,6 +616,7 @@ config CRYPTO_ARC4 + + config CRYPTO_CHACHA20 + tristate "ChaCha" ++ select CRYPTO_LIB_CHACHA_GENERIC + select CRYPTO_LIB_CHACHA_INTERNAL + select CRYPTO_SKCIPHER + help +@@ -936,6 +938,7 @@ config CRYPTO_POLYVAL + config CRYPTO_POLY1305 + tristate "Poly1305" + select CRYPTO_HASH ++ select CRYPTO_LIB_POLY1305_GENERIC + select CRYPTO_LIB_POLY1305_INTERNAL + help + Poly1305 authenticator algorithm (RFC7539) diff --git a/queue-6.14/crypto-lib-kconfig-hide-arch-options-from-user.patch b/queue-6.14/crypto-lib-kconfig-hide-arch-options-from-user.patch new file mode 100644 index 0000000000..e9d1f3324c --- /dev/null +++ b/queue-6.14/crypto-lib-kconfig-hide-arch-options-from-user.patch @@ -0,0 +1,380 @@ +From 17ec3e71ba797cdb62164fea9532c81b60f47167 Mon Sep 17 00:00:00 2001 +From: Herbert Xu +Date: Thu, 27 Feb 2025 15:48:39 +0800 +Subject: crypto: lib/Kconfig - Hide arch options from user + +From: Herbert Xu + +commit 17ec3e71ba797cdb62164fea9532c81b60f47167 upstream. + +The ARCH_MAY_HAVE patch missed arm64, mips and s390. But it may +also lead to arch options being enabled but ineffective because +of modular/built-in conflicts. + +As the primary user of all these options wireguard is selecting +the arch options anyway, make the same selections at the lib/crypto +option level and hide the arch options from the user. + +Instead of selecting them centrally from lib/crypto, simply set +the default of each arch option as suggested by Eric Biggers. + +Change the Crypto API generic algorithms to select the top-level +lib/crypto options instead of the generic one as otherwise there +is no way to enable the arch options (Eric Biggers). Introduce a +set of INTERNAL options to work around dependency cycles on the +CONFIG_CRYPTO symbol. + +Fixes: 1047e21aecdf ("crypto: lib/Kconfig - Fix lib built-in failure when arch is modular") +Reported-by: kernel test robot +Reported-by: Arnd Bergmann +Closes: https://lore.kernel.org/oe-kbuild-all/202502232152.JC84YDLp-lkp@intel.com/ +Signed-off-by: Herbert Xu +Signed-off-by: Greg Kroah-Hartman +--- + arch/arm/crypto/Kconfig | 16 ++++++++++------ + arch/arm64/crypto/Kconfig | 6 ++++-- + arch/mips/crypto/Kconfig | 7 +++++-- + arch/powerpc/crypto/Kconfig | 11 +++++++---- + arch/riscv/crypto/Kconfig | 1 - + arch/s390/crypto/Kconfig | 3 ++- + arch/x86/crypto/Kconfig | 17 +++++++++++------ + crypto/Kconfig | 6 +++--- + lib/crypto/Kconfig | 41 +++++++++++++++++++++-------------------- + 9 files changed, 63 insertions(+), 45 deletions(-) + +--- a/arch/arm/crypto/Kconfig ++++ b/arch/arm/crypto/Kconfig +@@ -3,10 +3,12 @@ + menu "Accelerated Cryptographic Algorithms for CPU (arm)" + + config CRYPTO_CURVE25519_NEON +- tristate "Public key crypto: Curve25519 (NEON)" ++ tristate + depends on KERNEL_MODE_NEON ++ select CRYPTO_KPP + select CRYPTO_LIB_CURVE25519_GENERIC +- select CRYPTO_ARCH_MAY_HAVE_LIB_CURVE25519 ++ select CRYPTO_ARCH_HAVE_LIB_CURVE25519 ++ default CRYPTO_LIB_CURVE25519_INTERNAL + help + Curve25519 algorithm + +@@ -45,9 +47,10 @@ config CRYPTO_NHPOLY1305_NEON + - NEON (Advanced SIMD) extensions + + config CRYPTO_POLY1305_ARM +- tristate "Hash functions: Poly1305 (NEON)" ++ tristate + select CRYPTO_HASH +- select CRYPTO_ARCH_MAY_HAVE_LIB_POLY1305 ++ select CRYPTO_ARCH_HAVE_LIB_POLY1305 ++ default CRYPTO_LIB_POLY1305_INTERNAL + help + Poly1305 authenticator algorithm (RFC7539) + +@@ -212,9 +215,10 @@ config CRYPTO_AES_ARM_CE + - ARMv8 Crypto Extensions + + config CRYPTO_CHACHA20_NEON +- tristate "Ciphers: ChaCha20, XChaCha20, XChaCha12 (NEON)" ++ tristate + select CRYPTO_SKCIPHER +- select CRYPTO_ARCH_MAY_HAVE_LIB_CHACHA ++ select CRYPTO_ARCH_HAVE_LIB_CHACHA ++ default CRYPTO_LIB_CHACHA_INTERNAL + help + Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12 + stream cipher algorithms +--- a/arch/arm64/crypto/Kconfig ++++ b/arch/arm64/crypto/Kconfig +@@ -26,10 +26,11 @@ config CRYPTO_NHPOLY1305_NEON + - NEON (Advanced SIMD) extensions + + config CRYPTO_POLY1305_NEON +- tristate "Hash functions: Poly1305 (NEON)" ++ tristate + depends on KERNEL_MODE_NEON + select CRYPTO_HASH + select CRYPTO_ARCH_HAVE_LIB_POLY1305 ++ default CRYPTO_LIB_POLY1305_INTERNAL + help + Poly1305 authenticator algorithm (RFC7539) + +@@ -186,11 +187,12 @@ config CRYPTO_AES_ARM64_NEON_BLK + - NEON (Advanced SIMD) extensions + + config CRYPTO_CHACHA20_NEON +- tristate "Ciphers: ChaCha (NEON)" ++ tristate + depends on KERNEL_MODE_NEON + select CRYPTO_SKCIPHER + select CRYPTO_LIB_CHACHA_GENERIC + select CRYPTO_ARCH_HAVE_LIB_CHACHA ++ default CRYPTO_LIB_CHACHA_INTERNAL + help + Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12 + stream cipher algorithms +--- a/arch/mips/crypto/Kconfig ++++ b/arch/mips/crypto/Kconfig +@@ -3,9 +3,11 @@ + menu "Accelerated Cryptographic Algorithms for CPU (mips)" + + config CRYPTO_POLY1305_MIPS +- tristate "Hash functions: Poly1305" ++ tristate + depends on MIPS ++ select CRYPTO_HASH + select CRYPTO_ARCH_HAVE_LIB_POLY1305 ++ default CRYPTO_LIB_POLY1305_INTERNAL + help + Poly1305 authenticator algorithm (RFC7539) + +@@ -52,10 +54,11 @@ config CRYPTO_SHA512_OCTEON + Architecture: mips OCTEON using crypto instructions, when available + + config CRYPTO_CHACHA_MIPS +- tristate "Ciphers: ChaCha20, XChaCha20, XChaCha12 (MIPS32r2)" ++ tristate + depends on CPU_MIPS32_R2 + select CRYPTO_SKCIPHER + select CRYPTO_ARCH_HAVE_LIB_CHACHA ++ default CRYPTO_LIB_CHACHA_INTERNAL + help + Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12 + stream cipher algorithms +--- a/arch/powerpc/crypto/Kconfig ++++ b/arch/powerpc/crypto/Kconfig +@@ -3,10 +3,12 @@ + menu "Accelerated Cryptographic Algorithms for CPU (powerpc)" + + config CRYPTO_CURVE25519_PPC64 +- tristate "Public key crypto: Curve25519 (PowerPC64)" ++ tristate + depends on PPC64 && CPU_LITTLE_ENDIAN ++ select CRYPTO_KPP + select CRYPTO_LIB_CURVE25519_GENERIC +- select CRYPTO_ARCH_MAY_HAVE_LIB_CURVE25519 ++ select CRYPTO_ARCH_HAVE_LIB_CURVE25519 ++ default CRYPTO_LIB_CURVE25519_INTERNAL + help + Curve25519 algorithm + +@@ -91,11 +93,12 @@ config CRYPTO_AES_GCM_P10 + later CPU. This module supports stitched acceleration for AES/GCM. + + config CRYPTO_CHACHA20_P10 +- tristate "Ciphers: ChaCha20, XChacha20, XChacha12 (P10 or later)" ++ tristate + depends on PPC64 && CPU_LITTLE_ENDIAN && VSX + select CRYPTO_SKCIPHER + select CRYPTO_LIB_CHACHA_GENERIC +- select CRYPTO_ARCH_MAY_HAVE_LIB_CHACHA ++ select CRYPTO_ARCH_HAVE_LIB_CHACHA ++ default CRYPTO_LIB_CHACHA_INTERNAL + help + Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12 + stream cipher algorithms +--- a/arch/riscv/crypto/Kconfig ++++ b/arch/riscv/crypto/Kconfig +@@ -22,7 +22,6 @@ config CRYPTO_CHACHA_RISCV64 + tristate "Ciphers: ChaCha" + depends on 64BIT && RISCV_ISA_V && TOOLCHAIN_HAS_VECTOR_CRYPTO + select CRYPTO_SKCIPHER +- select CRYPTO_LIB_CHACHA_GENERIC + help + Length-preserving ciphers: ChaCha20 stream cipher algorithm + +--- a/arch/s390/crypto/Kconfig ++++ b/arch/s390/crypto/Kconfig +@@ -108,11 +108,12 @@ config CRYPTO_DES_S390 + As of z196 the CTR mode is hardware accelerated. + + config CRYPTO_CHACHA_S390 +- tristate "Ciphers: ChaCha20" ++ tristate + depends on S390 + select CRYPTO_SKCIPHER + select CRYPTO_LIB_CHACHA_GENERIC + select CRYPTO_ARCH_HAVE_LIB_CHACHA ++ default CRYPTO_LIB_CHACHA_INTERNAL + help + Length-preserving cipher: ChaCha20 stream cipher (RFC 7539) + +--- a/arch/x86/crypto/Kconfig ++++ b/arch/x86/crypto/Kconfig +@@ -3,10 +3,12 @@ + menu "Accelerated Cryptographic Algorithms for CPU (x86)" + + config CRYPTO_CURVE25519_X86 +- tristate "Public key crypto: Curve25519 (ADX)" ++ tristate + depends on X86 && 64BIT ++ select CRYPTO_KPP + select CRYPTO_LIB_CURVE25519_GENERIC +- select CRYPTO_ARCH_MAY_HAVE_LIB_CURVE25519 ++ select CRYPTO_ARCH_HAVE_LIB_CURVE25519 ++ default CRYPTO_LIB_CURVE25519_INTERNAL + help + Curve25519 algorithm + +@@ -348,11 +350,12 @@ config CRYPTO_ARIA_GFNI_AVX512_X86_64 + Processes 64 blocks in parallel. + + config CRYPTO_CHACHA20_X86_64 +- tristate "Ciphers: ChaCha20, XChaCha20, XChaCha12 (SSSE3/AVX2/AVX-512VL)" ++ tristate + depends on X86 && 64BIT + select CRYPTO_SKCIPHER + select CRYPTO_LIB_CHACHA_GENERIC +- select CRYPTO_ARCH_MAY_HAVE_LIB_CHACHA ++ select CRYPTO_ARCH_HAVE_LIB_CHACHA ++ default CRYPTO_LIB_CHACHA_INTERNAL + help + Length-preserving ciphers: ChaCha20, XChaCha20, and XChaCha12 + stream cipher algorithms +@@ -417,10 +420,12 @@ config CRYPTO_POLYVAL_CLMUL_NI + - CLMUL-NI (carry-less multiplication new instructions) + + config CRYPTO_POLY1305_X86_64 +- tristate "Hash functions: Poly1305 (SSE2/AVX2)" ++ tristate + depends on X86 && 64BIT ++ select CRYPTO_HASH + select CRYPTO_LIB_POLY1305_GENERIC +- select CRYPTO_ARCH_MAY_HAVE_LIB_POLY1305 ++ select CRYPTO_ARCH_HAVE_LIB_POLY1305 ++ default CRYPTO_LIB_POLY1305_INTERNAL + help + Poly1305 authenticator algorithm (RFC7539) + +--- a/crypto/Kconfig ++++ b/crypto/Kconfig +@@ -317,7 +317,7 @@ config CRYPTO_ECRDSA + config CRYPTO_CURVE25519 + tristate "Curve25519" + select CRYPTO_KPP +- select CRYPTO_LIB_CURVE25519_GENERIC ++ select CRYPTO_LIB_CURVE25519_INTERNAL + help + Curve25519 elliptic curve (RFC7748) + +@@ -615,7 +615,7 @@ config CRYPTO_ARC4 + + config CRYPTO_CHACHA20 + tristate "ChaCha" +- select CRYPTO_LIB_CHACHA_GENERIC ++ select CRYPTO_LIB_CHACHA_INTERNAL + select CRYPTO_SKCIPHER + help + The ChaCha20, XChaCha20, and XChaCha12 stream cipher algorithms +@@ -936,7 +936,7 @@ config CRYPTO_POLYVAL + config CRYPTO_POLY1305 + tristate "Poly1305" + select CRYPTO_HASH +- select CRYPTO_LIB_POLY1305_GENERIC ++ select CRYPTO_LIB_POLY1305_INTERNAL + help + Poly1305 authenticator algorithm (RFC7539) + +--- a/lib/crypto/Kconfig ++++ b/lib/crypto/Kconfig +@@ -48,11 +48,6 @@ config CRYPTO_ARCH_HAVE_LIB_CHACHA + accelerated implementation of the ChaCha library interface, + either builtin or as a module. + +-config CRYPTO_ARCH_MAY_HAVE_LIB_CHACHA +- tristate +- select CRYPTO_ARCH_HAVE_LIB_CHACHA if CRYPTO_LIB_CHACHA=m +- select CRYPTO_ARCH_HAVE_LIB_CHACHA if CRYPTO_ARCH_MAY_HAVE_LIB_CHACHA=y +- + config CRYPTO_LIB_CHACHA_GENERIC + tristate + select CRYPTO_LIB_UTILS +@@ -63,9 +58,14 @@ config CRYPTO_LIB_CHACHA_GENERIC + implementation is enabled, this implementation serves the users + of CRYPTO_LIB_CHACHA. + ++config CRYPTO_LIB_CHACHA_INTERNAL ++ tristate ++ select CRYPTO_LIB_CHACHA_GENERIC if CRYPTO_ARCH_HAVE_LIB_CHACHA=n ++ + config CRYPTO_LIB_CHACHA + tristate "ChaCha library interface" +- select CRYPTO_LIB_CHACHA_GENERIC if CRYPTO_ARCH_HAVE_LIB_CHACHA=n ++ select CRYPTO ++ select CRYPTO_LIB_CHACHA_INTERNAL + help + Enable the ChaCha library interface. This interface may be fulfilled + by either the generic implementation or an arch-specific one, if one +@@ -78,13 +78,9 @@ config CRYPTO_ARCH_HAVE_LIB_CURVE25519 + accelerated implementation of the Curve25519 library interface, + either builtin or as a module. + +-config CRYPTO_ARCH_MAY_HAVE_LIB_CURVE25519 +- tristate +- select CRYPTO_ARCH_HAVE_LIB_CURVE25519 if CRYPTO_LIB_CURVE25519=m +- select CRYPTO_ARCH_HAVE_LIB_CURVE25519 if CRYPTO_ARCH_MAY_HAVE_LIB_CURVE25519=y +- + config CRYPTO_LIB_CURVE25519_GENERIC + tristate ++ select CRYPTO_LIB_UTILS + help + This symbol can be depended upon by arch implementations of the + Curve25519 library interface that require the generic code as a +@@ -92,10 +88,14 @@ config CRYPTO_LIB_CURVE25519_GENERIC + implementation is enabled, this implementation serves the users + of CRYPTO_LIB_CURVE25519. + ++config CRYPTO_LIB_CURVE25519_INTERNAL ++ tristate ++ select CRYPTO_LIB_CURVE25519_GENERIC if CRYPTO_ARCH_HAVE_LIB_CURVE25519=n ++ + config CRYPTO_LIB_CURVE25519 + tristate "Curve25519 scalar multiplication library" +- select CRYPTO_LIB_CURVE25519_GENERIC if CRYPTO_ARCH_HAVE_LIB_CURVE25519=n +- select CRYPTO_LIB_UTILS ++ select CRYPTO ++ select CRYPTO_LIB_CURVE25519_INTERNAL + help + Enable the Curve25519 library interface. This interface may be + fulfilled by either the generic implementation or an arch-specific +@@ -118,11 +118,6 @@ config CRYPTO_ARCH_HAVE_LIB_POLY1305 + accelerated implementation of the Poly1305 library interface, + either builtin or as a module. + +-config CRYPTO_ARCH_MAY_HAVE_LIB_POLY1305 +- tristate +- select CRYPTO_ARCH_HAVE_LIB_POLY1305 if CRYPTO_LIB_POLY1305=m +- select CRYPTO_ARCH_HAVE_LIB_POLY1305 if CRYPTO_ARCH_MAY_HAVE_LIB_POLY1305=y +- + config CRYPTO_LIB_POLY1305_GENERIC + tristate + help +@@ -132,9 +127,14 @@ config CRYPTO_LIB_POLY1305_GENERIC + implementation is enabled, this implementation serves the users + of CRYPTO_LIB_POLY1305. + ++config CRYPTO_LIB_POLY1305_INTERNAL ++ tristate ++ select CRYPTO_LIB_POLY1305_GENERIC if CRYPTO_ARCH_HAVE_LIB_POLY1305=n ++ + config CRYPTO_LIB_POLY1305 + tristate "Poly1305 library interface" +- select CRYPTO_LIB_POLY1305_GENERIC if CRYPTO_ARCH_HAVE_LIB_POLY1305=n ++ select CRYPTO ++ select CRYPTO_LIB_POLY1305_INTERNAL + help + Enable the Poly1305 library interface. This interface may be fulfilled + by either the generic implementation or an arch-specific one, if one +@@ -142,9 +142,10 @@ config CRYPTO_LIB_POLY1305 + + config CRYPTO_LIB_CHACHA20POLY1305 + tristate "ChaCha20-Poly1305 AEAD support (8-byte nonce library version)" +- depends on CRYPTO ++ select CRYPTO + select CRYPTO_LIB_CHACHA + select CRYPTO_LIB_POLY1305 ++ select CRYPTO_LIB_UTILS + select CRYPTO_ALGAPI + + config CRYPTO_LIB_SHA1 diff --git a/queue-6.14/media-i2c-imx214-fix-uninitialized-variable-in-imx214_set_ctrl.patch b/queue-6.14/media-i2c-imx214-fix-uninitialized-variable-in-imx214_set_ctrl.patch new file mode 100644 index 0000000000..8e7f6125e5 --- /dev/null +++ b/queue-6.14/media-i2c-imx214-fix-uninitialized-variable-in-imx214_set_ctrl.patch @@ -0,0 +1,36 @@ +From 38985a25682c66d1a7599b0e95ceeb9c7ba89f84 Mon Sep 17 00:00:00 2001 +From: Dan Carpenter +Date: Tue, 18 Feb 2025 16:05:50 +0300 +Subject: media: i2c: imx214: Fix uninitialized variable in imx214_set_ctrl() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Dan Carpenter + +commit 38985a25682c66d1a7599b0e95ceeb9c7ba89f84 upstream. + +You can't pass uninitialized "ret" variables to cci_write(). It has to +start as zero. + +Fixes: 4f0aeba4f155 ("media: i2c: imx214: Convert to CCI register access helpers") +Signed-off-by: Dan Carpenter +Reviewed-by: André Apitzsch +Signed-off-by: Sakari Ailus +Signed-off-by: Hans Verkuil +Signed-off-by: Greg Kroah-Hartman +--- + drivers/media/i2c/imx214.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/media/i2c/imx214.c ++++ b/drivers/media/i2c/imx214.c +@@ -840,7 +840,7 @@ static int imx214_s_stream(struct v4l2_s + { + struct imx214 *imx214 = to_imx214(subdev); + struct v4l2_subdev_state *state; +- int ret; ++ int ret = 0; + + if (enable) { + ret = pm_runtime_resume_and_get(imx214->dev); diff --git a/queue-6.14/mips-cm-fix-warning-if-mips_cm-is-disabled.patch b/queue-6.14/mips-cm-fix-warning-if-mips_cm-is-disabled.patch new file mode 100644 index 0000000000..e273d856f0 --- /dev/null +++ b/queue-6.14/mips-cm-fix-warning-if-mips_cm-is-disabled.patch @@ -0,0 +1,38 @@ +From b73c3ccdca95c237750c981054997c71d33e09d7 Mon Sep 17 00:00:00 2001 +From: Thomas Bogendoerfer +Date: Fri, 28 Feb 2025 15:37:02 +0100 +Subject: MIPS: cm: Fix warning if MIPS_CM is disabled +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Thomas Bogendoerfer + +commit b73c3ccdca95c237750c981054997c71d33e09d7 upstream. + +Commit e27fbe16af5c ("MIPS: cm: Detect CM quirks from device tree") +introduced + +arch/mips/include/asm/mips-cm.h:119:13: error: ‘mips_cm_update_property’ + defined but not used [-Werror=unused-function] + +Fix this by making empty function implementation inline + +Fixes: e27fbe16af5c ("MIPS: cm: Detect CM quirks from device tree") +Signed-off-by: Thomas Bogendoerfer +Signed-off-by: Greg Kroah-Hartman +--- + arch/mips/include/asm/mips-cm.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/arch/mips/include/asm/mips-cm.h ++++ b/arch/mips/include/asm/mips-cm.h +@@ -116,7 +116,7 @@ static inline bool mips_cm_present(void) + #ifdef CONFIG_MIPS_CM + extern void mips_cm_update_property(void); + #else +-static void mips_cm_update_property(void) {} ++static inline void mips_cm_update_property(void) {} + #endif + + /** diff --git a/queue-6.14/net-phy-dp83822-fix-transmit-amplitude-if-config_of_mdio-not-defined.patch b/queue-6.14/net-phy-dp83822-fix-transmit-amplitude-if-config_of_mdio-not-defined.patch new file mode 100644 index 0000000000..51ccef98bb --- /dev/null +++ b/queue-6.14/net-phy-dp83822-fix-transmit-amplitude-if-config_of_mdio-not-defined.patch @@ -0,0 +1,42 @@ +From 8fa649fd7d3009769c7289d0c31c319b72bc42c4 Mon Sep 17 00:00:00 2001 +From: Dimitri Fedrau +Date: Mon, 17 Mar 2025 08:48:34 +0100 +Subject: net: phy: dp83822: fix transmit amplitude if CONFIG_OF_MDIO not defined + +From: Dimitri Fedrau + +commit 8fa649fd7d3009769c7289d0c31c319b72bc42c4 upstream. + +When CONFIG_OF_MDIO is not defined the index for selecting the transmit +amplitude voltage for 100BASE-TX is set to 0, but it should be -1, if there +is no need to modify the transmit amplitude voltage. Move initialization of +the index from dp83822_of_init to dp8382x_probe. + +Fixes: 4f3735e82d8a ("net: phy: dp83822: Add support for changing the transmit amplitude voltage") +Reviewed-by: Gerhard Engleder +Signed-off-by: Dimitri Fedrau +Link: https://patch.msgid.link/20250317-dp83822-fix-transceiver-mdio-v2-1-fb09454099a4@liebherr.com +Signed-off-by: Jakub Kicinski +Signed-off-by: Greg Kroah-Hartman +--- + drivers/net/phy/dp83822.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/net/phy/dp83822.c ++++ b/drivers/net/phy/dp83822.c +@@ -833,7 +833,6 @@ static int dp83822_of_init(struct phy_de + dp83822->set_gpio2_clk_out = true; + } + +- dp83822->tx_amplitude_100base_tx_index = -1; + ret = phy_get_tx_amplitude_gain(phydev, dev, + ETHTOOL_LINK_MODE_100baseT_Full_BIT, + &val); +@@ -931,6 +930,7 @@ static int dp8382x_probe(struct phy_devi + if (!dp83822) + return -ENOMEM; + ++ dp83822->tx_amplitude_100base_tx_index = -1; + phydev->priv = dp83822; + + return 0; diff --git a/queue-6.14/nvme-fixup-scan-failure-for-non-ana-multipath-controllers.patch b/queue-6.14/nvme-fixup-scan-failure-for-non-ana-multipath-controllers.patch new file mode 100644 index 0000000000..0375076955 --- /dev/null +++ b/queue-6.14/nvme-fixup-scan-failure-for-non-ana-multipath-controllers.patch @@ -0,0 +1,36 @@ +From 26d7fb4fd4ca1180e2fa96587dea544563b4962a Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +Date: Mon, 14 Apr 2025 14:05:09 +0200 +Subject: nvme: fixup scan failure for non-ANA multipath controllers + +From: Hannes Reinecke + +commit 26d7fb4fd4ca1180e2fa96587dea544563b4962a upstream. + +Commit 62baf70c3274 caused the ANA log page to be re-read, even on +controllers that do not support ANA. While this should generally +harmless, some controllers hang on the unsupported log page and +never finish probing. + +Fixes: 62baf70c3274 ("nvme: re-read ANA log page after ns scan completes") +Signed-off-by: Hannes Reinecke +Tested-by: Srikanth Aithal +[hch: more detailed commit message] +Signed-off-by: Christoph Hellwig +Reviewed-by: Sagi Grimberg +Signed-off-by: Greg Kroah-Hartman +--- + drivers/nvme/host/core.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/nvme/host/core.c ++++ b/drivers/nvme/host/core.c +@@ -4297,7 +4297,7 @@ static void nvme_scan_work(struct work_s + if (test_bit(NVME_AER_NOTICE_NS_CHANGED, &ctrl->events)) + nvme_queue_scan(ctrl); + #ifdef CONFIG_NVME_MULTIPATH +- else ++ else if (ctrl->ana_log_buf) + /* Re-read the ANA log page to not miss updates */ + queue_work(nvme_wq, &ctrl->ana_work); + #endif diff --git a/queue-6.14/objtool-ignore-end-of-section-jumps-for-kcov-gcov.patch b/queue-6.14/objtool-ignore-end-of-section-jumps-for-kcov-gcov.patch new file mode 100644 index 0000000000..c17acf38eb --- /dev/null +++ b/queue-6.14/objtool-ignore-end-of-section-jumps-for-kcov-gcov.patch @@ -0,0 +1,102 @@ +From 0d7597749f5a3ac67851d3836635d084df15fb66 Mon Sep 17 00:00:00 2001 +From: Josh Poimboeuf +Date: Mon, 31 Mar 2025 21:26:37 -0700 +Subject: objtool: Ignore end-of-section jumps for KCOV/GCOV + +From: Josh Poimboeuf + +commit 0d7597749f5a3ac67851d3836635d084df15fb66 upstream. + +When KCOV or GCOV is enabled, dead code can be left behind, in which +case objtool silences unreachable and undefined behavior (fallthrough) +warnings. + +Fallthrough warnings, and their variant "end of section" warnings, were +silenced with the following commit: + + 6b023c784204 ("objtool: Silence more KCOV warnings") + +Another variant of a fallthrough warning is a jump to the end of a +function. If that function happens to be at the end of a section, the +jump destination doesn't actually exist. + +Normally that would be a fatal objtool error, but for KCOV/GCOV it's +just another undefined behavior fallthrough. Silence it like the +others. + +Fixes the following warning: + + drivers/iommu/dma-iommu.o: warning: objtool: iommu_dma_sw_msi+0x92: can't find jump dest instruction at .text+0x54d5 + +Fixes: 6b023c784204 ("objtool: Silence more KCOV warnings") +Reported-by: Randy Dunlap +Signed-off-by: Josh Poimboeuf +Signed-off-by: Ingo Molnar +Cc: Linus Torvalds +Link: https://lore.kernel.org/r/08fbe7d7e1e20612206f1df253077b94f178d93e.1743481539.git.jpoimboe@kernel.org +Closes: https://lore.kernel.org/314f8809-cd59-479b-97d7-49356bf1c8d1@infradead.org/ +Signed-off-by: Greg Kroah-Hartman +--- + tools/objtool/check.c | 22 ++++++++++++++++------ + 1 file changed, 16 insertions(+), 6 deletions(-) + +--- a/tools/objtool/check.c ++++ b/tools/objtool/check.c +@@ -1482,6 +1482,8 @@ static int add_jump_destinations(struct + unsigned long dest_off; + + for_each_insn(file, insn) { ++ struct symbol *func = insn_func(insn); ++ + if (insn->jump_dest) { + /* + * handle_group_alt() may have previously set +@@ -1505,7 +1507,7 @@ static int add_jump_destinations(struct + } else if (reloc->sym->return_thunk) { + add_return_call(file, insn, true); + continue; +- } else if (insn_func(insn)) { ++ } else if (func) { + /* + * External sibling call or internal sibling call with + * STT_FUNC reloc. +@@ -1538,6 +1540,15 @@ static int add_jump_destinations(struct + continue; + } + ++ /* ++ * GCOV/KCOV dead code can jump to the end of the ++ * function/section. ++ */ ++ if (file->ignore_unreachables && func && ++ dest_sec == insn->sec && ++ dest_off == func->offset + func->len) ++ continue; ++ + WARN_INSN(insn, "can't find jump dest instruction at %s+0x%lx", + dest_sec->name, dest_off); + return -1; +@@ -1562,8 +1573,7 @@ static int add_jump_destinations(struct + /* + * Cross-function jump. + */ +- if (insn_func(insn) && insn_func(jump_dest) && +- insn_func(insn) != insn_func(jump_dest)) { ++ if (func && insn_func(jump_dest) && func != insn_func(jump_dest)) { + + /* + * For GCC 8+, create parent/child links for any cold +@@ -1580,10 +1590,10 @@ static int add_jump_destinations(struct + * case where the parent function's only reference to a + * subfunction is through a jump table. + */ +- if (!strstr(insn_func(insn)->name, ".cold") && ++ if (!strstr(func->name, ".cold") && + strstr(insn_func(jump_dest)->name, ".cold")) { +- insn_func(insn)->cfunc = insn_func(jump_dest); +- insn_func(jump_dest)->pfunc = insn_func(insn); ++ func->cfunc = insn_func(jump_dest); ++ insn_func(jump_dest)->pfunc = func; + } + } + diff --git a/queue-6.14/objtool-silence-more-kcov-warnings-part-2.patch b/queue-6.14/objtool-silence-more-kcov-warnings-part-2.patch new file mode 100644 index 0000000000..54dda4b69b --- /dev/null +++ b/queue-6.14/objtool-silence-more-kcov-warnings-part-2.patch @@ -0,0 +1,46 @@ +From 55c78035a1a8dfb05f1472018ce2a651701adb7d Mon Sep 17 00:00:00 2001 +From: Josh Poimboeuf +Date: Mon, 31 Mar 2025 21:26:36 -0700 +Subject: objtool: Silence more KCOV warnings, part 2 + +From: Josh Poimboeuf + +commit 55c78035a1a8dfb05f1472018ce2a651701adb7d upstream. + +Similar to GCOV, KCOV can leave behind dead code and undefined behavior. +Warnings related to those should be ignored. + +The previous commit: + + 6b023c784204 ("objtool: Silence more KCOV warnings") + +... only did so for CONFIG_CGOV_KERNEL. Also do it for CONFIG_KCOV, but +for real this time. + +Fixes the following warning: + + vmlinux.o: warning: objtool: synaptics_report_mt_data: unexpected end of section .text.synaptics_report_mt_data + +Fixes: 6b023c784204 ("objtool: Silence more KCOV warnings") +Reported-by: kernel test robot +Signed-off-by: Josh Poimboeuf +Signed-off-by: Ingo Molnar +Cc: Linus Torvalds +Link: https://lore.kernel.org/r/a44ba16e194bcbc52c1cef3d3cd9051a62622723.1743481539.git.jpoimboe@kernel.org +Closes: https://lore.kernel.org/oe-kbuild-all/202503282236.UhfRsF3B-lkp@intel.com/ +Signed-off-by: Greg Kroah-Hartman +--- + scripts/Makefile.lib | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/scripts/Makefile.lib ++++ b/scripts/Makefile.lib +@@ -275,7 +275,7 @@ objtool-args-$(CONFIG_MITIGATION_SLS) + objtool-args-$(CONFIG_STACK_VALIDATION) += --stackval + objtool-args-$(CONFIG_HAVE_STATIC_CALL_INLINE) += --static-call + objtool-args-$(CONFIG_HAVE_UACCESS_VALIDATION) += --uaccess +-objtool-args-$(CONFIG_GCOV_KERNEL) += --no-unreachable ++objtool-args-$(or $(CONFIG_GCOV_KERNEL),$(CONFIG_KCOV)) += --no-unreachable + objtool-args-$(CONFIG_PREFIX_SYMBOLS) += --prefix=$(CONFIG_FUNCTION_PADDING_BYTES) + + objtool-args = $(objtool-args-y) \ diff --git a/queue-6.14/rust-kbuild-skip-remap-path-prefix-for-rustdoc.patch b/queue-6.14/rust-kbuild-skip-remap-path-prefix-for-rustdoc.patch new file mode 100644 index 0000000000..cad190ce9e --- /dev/null +++ b/queue-6.14/rust-kbuild-skip-remap-path-prefix-for-rustdoc.patch @@ -0,0 +1,65 @@ +From 2c8725c1dca3de043670b38592b1b43105322496 Mon Sep 17 00:00:00 2001 +From: Miguel Ojeda +Date: Sat, 15 Mar 2025 20:40:45 +0100 +Subject: rust: kbuild: skip `--remap-path-prefix` for `rustdoc` + +From: Miguel Ojeda + +commit 2c8725c1dca3de043670b38592b1b43105322496 upstream. + +`rustdoc` only recognizes `--remap-path-prefix` starting with +Rust 1.81.0, which is later than on minimum, so we cannot pass it +unconditionally. Otherwise, we get: + + error: Unrecognized option: 'remap-path-prefix' + +Note that `rustc` (the compiler) does recognize the flag since a long +time ago (1.26.0). + +Moreover, `rustdoc` since Rust 1.82.0 ICEs in out-of-tree builds when +using `--remap-path-prefix`. The issue has been reduced and reported +upstream [1]. + +Thus workaround both issues by simply skipping the flag when generating +the docs -- it is not critical there anyway. + +The ICE does not reproduce under `--test`, but we still need to skip +the flag as well for `RUSTDOC TK` since it is not recognized. + +Fixes: dbdffaf50ff9 ("kbuild, rust: use -fremap-path-prefix to make paths relative") +Link: https://github.com/rust-lang/rust/issues/138520 [1] +Signed-off-by: Miguel Ojeda +Reviewed-by: Tamir Duberstein +Signed-off-by: Masahiro Yamada +Signed-off-by: Greg Kroah-Hartman +--- + rust/Makefile | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +--- a/rust/Makefile ++++ b/rust/Makefile +@@ -57,10 +57,14 @@ endif + core-cfgs = \ + --cfg no_fp_fmt_parse + ++# `rustc` recognizes `--remap-path-prefix` since 1.26.0, but `rustdoc` only ++# since Rust 1.81.0. Moreover, `rustdoc` ICEs on out-of-tree builds since Rust ++# 1.82.0 (https://github.com/rust-lang/rust/issues/138520). Thus workaround both ++# issues skipping the flag. The former also applies to `RUSTDOC TK`. + quiet_cmd_rustdoc = RUSTDOC $(if $(rustdoc_host),H, ) $< + cmd_rustdoc = \ + OBJTREE=$(abspath $(objtree)) \ +- $(RUSTDOC) $(filter-out $(skip_flags),$(if $(rustdoc_host),$(rust_common_flags),$(rust_flags))) \ ++ $(RUSTDOC) $(filter-out $(skip_flags) --remap-path-prefix=%,$(if $(rustdoc_host),$(rust_common_flags),$(rust_flags))) \ + $(rustc_target_flags) -L$(objtree)/$(obj) \ + -Zunstable-options --generate-link-to-definition \ + --output $(rustdoc_output) \ +@@ -171,7 +175,7 @@ quiet_cmd_rustdoc_test_kernel = RUSTDOC + rm -rf $(objtree)/$(obj)/test/doctests/kernel; \ + mkdir -p $(objtree)/$(obj)/test/doctests/kernel; \ + OBJTREE=$(abspath $(objtree)) \ +- $(RUSTDOC) --test $(rust_flags) \ ++ $(RUSTDOC) --test $(filter-out --remap-path-prefix=%,$(rust_flags)) \ + -L$(objtree)/$(obj) --extern ffi --extern kernel \ + --extern build_error --extern macros \ + --extern bindings --extern uapi \ diff --git a/queue-6.14/series b/queue-6.14/series index 18a6d2704e..2fa013a8ff 100644 --- a/queue-6.14/series +++ b/queue-6.14/series @@ -298,3 +298,14 @@ driver-core-introduce-device_set_driver-helper.patch driver-core-fix-potential-null-pointer-dereference-in-dev_uevent.patch vmxnet3-fix-malformed-packet-sizing-in-vmxnet3_process_xdp.patch comedi-jr3_pci-fix-synchronous-deletion-of-timer.patch +crypto-lib-kconfig-hide-arch-options-from-user.patch +media-i2c-imx214-fix-uninitialized-variable-in-imx214_set_ctrl.patch +mips-cm-fix-warning-if-mips_cm-is-disabled.patch +net-phy-dp83822-fix-transmit-amplitude-if-config_of_mdio-not-defined.patch +rust-kbuild-skip-remap-path-prefix-for-rustdoc.patch +ublk-don-t-fail-request-for-recovery-reissue-in-case-of-ubq-canceling.patch +nvme-fixup-scan-failure-for-non-ana-multipath-controllers.patch +usb-xhci-fix-short-packet-handling-rework-ignoring-errors.patch +objtool-ignore-end-of-section-jumps-for-kcov-gcov.patch +objtool-silence-more-kcov-warnings-part-2.patch +crypto-kconfig-select-lib-generic-option.patch diff --git a/queue-6.14/ublk-don-t-fail-request-for-recovery-reissue-in-case-of-ubq-canceling.patch b/queue-6.14/ublk-don-t-fail-request-for-recovery-reissue-in-case-of-ubq-canceling.patch new file mode 100644 index 0000000000..aa2c87407a --- /dev/null +++ b/queue-6.14/ublk-don-t-fail-request-for-recovery-reissue-in-case-of-ubq-canceling.patch @@ -0,0 +1,70 @@ +From 18461f2a02be04f8bbbe3b37fecfc702e3fa5bc2 Mon Sep 17 00:00:00 2001 +From: Ming Lei +Date: Wed, 9 Apr 2025 09:14:42 +0800 +Subject: ublk: don't fail request for recovery & reissue in case of ubq->canceling + +From: Ming Lei + +commit 18461f2a02be04f8bbbe3b37fecfc702e3fa5bc2 upstream. + +ubq->canceling is set with request queue quiesced when io_uring context is +exiting. USER_RECOVERY or !RECOVERY_FAIL_IO requires request to be re-queued +and re-dispatch after device is recovered. + +However commit d796cea7b9f3 ("ublk: implement ->queue_rqs()") still may fail +any request in case of ubq->canceling, this way breaks USER_RECOVERY or +!RECOVERY_FAIL_IO. + +Fix it by calling __ublk_abort_rq() in case of ubq->canceling. + +Reviewed-by: Uday Shankar +Reported-by: Uday Shankar +Closes: https://lore.kernel.org/linux-block/Z%2FQkkTRHfRxtN%2FmB@dev-ushankar.dev.purestorage.com/ +Fixes: d796cea7b9f3 ("ublk: implement ->queue_rqs()") +Signed-off-by: Ming Lei +Link: https://lore.kernel.org/r/20250409011444.2142010-3-ming.lei@redhat.com +Signed-off-by: Jens Axboe +Signed-off-by: Greg Kroah-Hartman +--- + drivers/block/ublk_drv.c | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +--- a/drivers/block/ublk_drv.c ++++ b/drivers/block/ublk_drv.c +@@ -1336,7 +1336,8 @@ static enum blk_eh_timer_return ublk_tim + return BLK_EH_RESET_TIMER; + } + +-static blk_status_t ublk_prep_req(struct ublk_queue *ubq, struct request *rq) ++static blk_status_t ublk_prep_req(struct ublk_queue *ubq, struct request *rq, ++ bool check_cancel) + { + blk_status_t res; + +@@ -1355,7 +1356,7 @@ static blk_status_t ublk_prep_req(struct + if (ublk_nosrv_should_queue_io(ubq) && unlikely(ubq->force_abort)) + return BLK_STS_IOERR; + +- if (unlikely(ubq->canceling)) ++ if (check_cancel && unlikely(ubq->canceling)) + return BLK_STS_IOERR; + + /* fill iod to slot in io cmd buffer */ +@@ -1374,7 +1375,7 @@ static blk_status_t ublk_queue_rq(struct + struct request *rq = bd->rq; + blk_status_t res; + +- res = ublk_prep_req(ubq, rq); ++ res = ublk_prep_req(ubq, rq, false); + if (res != BLK_STS_OK) + return res; + +@@ -1406,7 +1407,7 @@ static void ublk_queue_rqs(struct rq_lis + ublk_queue_cmd_list(ubq, &submit_list); + ubq = this_q; + +- if (ublk_prep_req(ubq, req) == BLK_STS_OK) ++ if (ublk_prep_req(ubq, req, true) == BLK_STS_OK) + rq_list_add_tail(&submit_list, req); + else + rq_list_add_tail(&requeue_list, req); diff --git a/queue-6.14/usb-xhci-fix-short-packet-handling-rework-ignoring-errors.patch b/queue-6.14/usb-xhci-fix-short-packet-handling-rework-ignoring-errors.patch new file mode 100644 index 0000000000..b98334b9c9 --- /dev/null +++ b/queue-6.14/usb-xhci-fix-short-packet-handling-rework-ignoring-errors.patch @@ -0,0 +1,56 @@ +From 9e3a28793d2fde7a709e814d2504652eaba6ae98 Mon Sep 17 00:00:00 2001 +From: Michal Pecio +Date: Thu, 10 Apr 2025 18:18:25 +0300 +Subject: usb: xhci: Fix Short Packet handling rework ignoring errors + +From: Michal Pecio + +commit 9e3a28793d2fde7a709e814d2504652eaba6ae98 upstream. + +A Short Packet event before the last TRB of a TD is followed by another +event on the final TRB on spec-compliant HCs, which is most of them. + +A 'last_td_was_short' flag was added to know if a TD has just completed +as Short Packet and another event is to come. The flag was cleared after +seeing the event (unless no TDs are pending, but that's a separate bug) +or seeing a new TD complete as something other than Short Packet. + +A rework replaced the flag with an 'old_trb_comp_code' variable. When +an event doesn't match the pending TD and the previous event was Short +Packet, the new event is silently ignored. + +To preserve old behavior, 'old_trb_comp_code' should be cleared at this +point, but instead it is being set to current comp code, which is often +Short Packet again. This can cause more events to be silently ignored, +even though they are no longer connected with the old TD that completed +short and indicate a serious problem with the driver or the xHC. + +Common device classes like UAC in async mode, UVC, serial or the UAS +status pipe complete as Short Packet routinely and could be affected. + +Clear 'old_trb_comp_code' to zero, which is an invalid completion code +and the same value the variable starts with. This restores original +behavior on Short Packet and also works for illegal Etron events, which +the code has been extended to cover too. + +Fixes: b331a3d8097f ("xhci: Handle spurious events on Etron host isoc enpoints") +Signed-off-by: Michal Pecio +Signed-off-by: Mathias Nyman +Link: https://lore.kernel.org/r/20250410151828.2868740-4-mathias.nyman@linux.intel.com +Signed-off-by: Greg Kroah-Hartman +Signed-off-by: Greg Kroah-Hartman +--- + drivers/usb/host/xhci-ring.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/usb/host/xhci-ring.c ++++ b/drivers/usb/host/xhci-ring.c +@@ -2926,7 +2926,7 @@ static int handle_tx_event(struct xhci_h + if (xhci_spurious_success_tx_event(xhci, ep_ring)) { + xhci_dbg(xhci, "Spurious event dma %pad, comp_code %u after %u\n", + &ep_trb_dma, trb_comp_code, ep_ring->old_trb_comp_code); +- ep_ring->old_trb_comp_code = trb_comp_code; ++ ep_ring->old_trb_comp_code = 0; + return 0; + } + -- 2.47.3