--- /dev/null
+From 398898f9cca1a19a83184430c675562680e57c7b Mon Sep 17 00:00:00 2001
+From: Keerthy <j-keerthy@ti.com>
+Date: Tue, 18 Feb 2025 10:52:48 +0530
+Subject: arm64: dts: ti: k3-j784s4-j742s2-main-common: Correct the GICD size
+
+From: Keerthy <j-keerthy@ti.com>
+
+commit 398898f9cca1a19a83184430c675562680e57c7b upstream.
+
+Currently we get the warning:
+
+"GICv3: [Firmware Bug]: GICR region 0x0000000001900000 has
+overlapping address"
+
+As per TRM GICD is 64 KB. Fix it by correcting the size of GICD.
+
+Cc: stable@vger.kernel.org
+Fixes: 9cc161a4509c ("arm64: dts: ti: Refactor J784s4 SoC files to a common file")
+Link: https://lore.kernel.org/r/20250218052248.4734-1-j-keerthy@ti.com
+Signed-off-by: Keerthy <j-keerthy@ti.com>
+Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi
++++ b/arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi
+@@ -195,7 +195,7 @@
+ ranges;
+ #interrupt-cells = <3>;
+ interrupt-controller;
+- reg = <0x00 0x01800000 0x00 0x200000>, /* GICD */
++ reg = <0x00 0x01800000 0x00 0x10000>, /* GICD */
+ <0x00 0x01900000 0x00 0x100000>, /* GICR */
+ <0x00 0x6f000000 0x00 0x2000>, /* GICC */
+ <0x00 0x6f010000 0x00 0x1000>, /* GICH */
--- /dev/null
+From 98330b9a61506de7df0d1725122111909c157864 Mon Sep 17 00:00:00 2001
+From: Herbert Xu <herbert@gondor.apana.org.au>
+Date: Mon, 3 Mar 2025 11:09:06 +0800
+Subject: crypto: Kconfig - Select LIB generic option
+
+From: Herbert Xu <herbert@gondor.apana.org.au>
+
+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 <lkp@intel.com>
+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 <herbert@gondor.apana.org.au>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ crypto/Kconfig | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/crypto/Kconfig
++++ b/crypto/Kconfig
+@@ -316,6 +316,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)
+@@ -614,6 +615,7 @@ config CRYPTO_ARC4
+
+ config CRYPTO_CHACHA20
+ tristate "ChaCha"
++ select CRYPTO_LIB_CHACHA_GENERIC
+ select CRYPTO_LIB_CHACHA_INTERNAL
+ select CRYPTO_SKCIPHER
+ help
+@@ -943,6 +945,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)
--- /dev/null
+From 17ec3e71ba797cdb62164fea9532c81b60f47167 Mon Sep 17 00:00:00 2001
+From: Herbert Xu <herbert@gondor.apana.org.au>
+Date: Thu, 27 Feb 2025 15:48:39 +0800
+Subject: crypto: lib/Kconfig - Hide arch options from user
+
+From: Herbert Xu <herbert@gondor.apana.org.au>
+
+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 <lkp@intel.com>
+Reported-by: Arnd Bergmann <arnd@kernel.org>
+Closes: https://lore.kernel.org/oe-kbuild-all/202502232152.JC84YDLp-lkp@intel.com/
+Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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
+@@ -12,9 +12,11 @@ config CRYPTO_CRC32_MIPS
+ Architecture: 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)
+
+@@ -61,10 +63,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
+
+@@ -124,11 +126,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
+@@ -120,11 +120,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
+@@ -316,7 +316,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)
+
+@@ -614,7 +614,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
+@@ -943,7 +943,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
--- /dev/null
+From 38985a25682c66d1a7599b0e95ceeb9c7ba89f84 Mon Sep 17 00:00:00 2001
+From: Dan Carpenter <dan.carpenter@linaro.org>
+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 <dan.carpenter@linaro.org>
+
+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 <dan.carpenter@linaro.org>
+Reviewed-by: André Apitzsch <git@apitzsch.eu>
+Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
+Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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);
--- /dev/null
+From b73c3ccdca95c237750c981054997c71d33e09d7 Mon Sep 17 00:00:00 2001
+From: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
+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 <tsbogend@alpha.franken.de>
+
+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 <tsbogend@alpha.franken.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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
+
+ /**
--- /dev/null
+From 1b0cab327e060ccf397ae634a34c84dd1d4d2bb2 Mon Sep 17 00:00:00 2001
+From: Christoph Hellwig <hch@lst.de>
+Date: Tue, 26 Nov 2024 11:21:36 +0100
+Subject: mq-deadline: don't call req_get_ioprio from the I/O completion handler
+
+From: Christoph Hellwig <hch@lst.de>
+
+commit 1b0cab327e060ccf397ae634a34c84dd1d4d2bb2 upstream.
+
+req_get_ioprio looks at req->bio to find the I/O priority, which is not
+set when completing bios that the driver fully iterated through.
+
+Stash away the dd_per_prio in the elevator private data instead of looking
+it up again to optimize the code a bit while fixing the regression from
+removing the per-request ioprio value.
+
+Fixes: 6975c1a486a4 ("block: remove the ioprio field from struct request")
+Reported-by: Chris Bainbridge <chris.bainbridge@gmail.com>
+Reported-by: Sam Protsenko <semen.protsenko@linaro.org>
+Signed-off-by: Christoph Hellwig <hch@lst.de>
+Tested-by: Chris Bainbridge <chris.bainbridge@gmail.com>
+Tested-by: Sam Protsenko <semen.protsenko@linaro.org>
+Reviewed-by: Bart Van Assche <bvanassche@acm.org>
+Link: https://lore.kernel.org/r/20241126102136.619067-1-hch@lst.de
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ block/mq-deadline.c | 13 ++++---------
+ 1 file changed, 4 insertions(+), 9 deletions(-)
+
+--- a/block/mq-deadline.c
++++ b/block/mq-deadline.c
+@@ -685,10 +685,9 @@ static void dd_insert_request(struct blk
+
+ prio = ioprio_class_to_prio[ioprio_class];
+ per_prio = &dd->per_prio[prio];
+- if (!rq->elv.priv[0]) {
++ if (!rq->elv.priv[0])
+ per_prio->stats.inserted++;
+- rq->elv.priv[0] = (void *)(uintptr_t)1;
+- }
++ rq->elv.priv[0] = per_prio;
+
+ if (blk_mq_sched_try_insert_merge(q, rq, free))
+ return;
+@@ -753,18 +752,14 @@ static void dd_prepare_request(struct re
+ */
+ static void dd_finish_request(struct request *rq)
+ {
+- struct request_queue *q = rq->q;
+- struct deadline_data *dd = q->elevator->elevator_data;
+- const u8 ioprio_class = dd_rq_ioclass(rq);
+- const enum dd_prio prio = ioprio_class_to_prio[ioprio_class];
+- struct dd_per_prio *per_prio = &dd->per_prio[prio];
++ struct dd_per_prio *per_prio = rq->elv.priv[0];
+
+ /*
+ * The block layer core may call dd_finish_request() without having
+ * called dd_insert_requests(). Skip requests that bypassed I/O
+ * scheduling. See also blk_mq_request_bypass_insert().
+ */
+- if (rq->elv.priv[0])
++ if (per_prio)
+ atomic_inc(&per_prio->stats.completed);
+ }
+
--- /dev/null
+From 26d7fb4fd4ca1180e2fa96587dea544563b4962a Mon Sep 17 00:00:00 2001
+From: Hannes Reinecke <hare@kernel.org>
+Date: Mon, 14 Apr 2025 14:05:09 +0200
+Subject: nvme: fixup scan failure for non-ANA multipath controllers
+
+From: Hannes Reinecke <hare@kernel.org>
+
+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 <hare@kernel.org>
+Tested-by: Srikanth Aithal <sraithal@amd.com>
+[hch: more detailed commit message]
+Signed-off-by: Christoph Hellwig <hch@lst.de>
+Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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
+@@ -4278,7 +4278,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
--- /dev/null
+From 0d7597749f5a3ac67851d3836635d084df15fb66 Mon Sep 17 00:00:00 2001
+From: Josh Poimboeuf <jpoimboe@kernel.org>
+Date: Mon, 31 Mar 2025 21:26:37 -0700
+Subject: objtool: Ignore end-of-section jumps for KCOV/GCOV
+
+From: Josh Poimboeuf <jpoimboe@kernel.org>
+
+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 <rdunlap@infradead.org>
+Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
+Signed-off-by: Ingo Molnar <mingo@kernel.org>
+Cc: Linus Torvalds <torvalds@linux-foundation.org>
+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 <gregkh@linuxfoundation.org>
+---
+ tools/objtool/check.c | 22 ++++++++++++++++------
+ 1 file changed, 16 insertions(+), 6 deletions(-)
+
+--- a/tools/objtool/check.c
++++ b/tools/objtool/check.c
+@@ -1570,6 +1570,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
+@@ -1593,7 +1595,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.
+@@ -1626,6 +1628,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;
+@@ -1650,8 +1661,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
+@@ -1668,10 +1678,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;
+ }
+ }
+
--- /dev/null
+From 55c78035a1a8dfb05f1472018ce2a651701adb7d Mon Sep 17 00:00:00 2001
+From: Josh Poimboeuf <jpoimboe@kernel.org>
+Date: Mon, 31 Mar 2025 21:26:36 -0700
+Subject: objtool: Silence more KCOV warnings, part 2
+
+From: Josh Poimboeuf <jpoimboe@kernel.org>
+
+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 <lkp@intel.com>
+Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
+Signed-off-by: Ingo Molnar <mingo@kernel.org>
+Cc: Linus Torvalds <torvalds@linux-foundation.org>
+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 <gregkh@linuxfoundation.org>
+---
+ scripts/Makefile.lib | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/scripts/Makefile.lib
++++ b/scripts/Makefile.lib
+@@ -257,7 +257,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) \
net-dsa-mv88e6xxx-enable-.port_set_policy-for-6320-family.patch
net-dsa-mv88e6xxx-enable-stu-methods-for-6320-family.patch
iommu-handle-race-with-default-domain-setup.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
+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
+usb-typec-class-unlocked-on-error-in-typec_register_partner.patch
+crypto-kconfig-select-lib-generic-option.patch
+arm64-dts-ti-k3-j784s4-j742s2-main-common-correct-the-gicd-size.patch
+mq-deadline-don-t-call-req_get_ioprio-from-the-i-o-completion-handler.patch
--- /dev/null
+From 429a98abfc01d3d4378b7a00969437dc3e8f647c Mon Sep 17 00:00:00 2001
+From: Dan Carpenter <dan.carpenter@linaro.org>
+Date: Tue, 15 Apr 2025 13:45:08 +0300
+Subject: usb: typec: class: Unlocked on error in typec_register_partner()
+
+From: Dan Carpenter <dan.carpenter@linaro.org>
+
+commit 429a98abfc01d3d4378b7a00969437dc3e8f647c upstream.
+
+We recently added some locking to this function but this error path
+was accidentally missed. Unlock before returning.
+
+Fixes: ec27386de23a ("usb: typec: class: Fix NULL pointer access")
+Cc: stable <stable@kernel.org>
+Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
+Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
+Link: https://lore.kernel.org/r/Z_44tOtmml89wQcM@stanley.mountain
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/typec/class.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/typec/class.c
++++ b/drivers/usb/typec/class.c
+@@ -936,6 +936,7 @@ struct typec_partner *typec_register_par
+ ret = device_register(&partner->dev);
+ if (ret) {
+ dev_err(&port->dev, "failed to register partner (%d)\n", ret);
++ mutex_unlock(&port->partner_link_lock);
+ put_device(&partner->dev);
+ return ERR_PTR(ret);
+ }
--- /dev/null
+From 9e3a28793d2fde7a709e814d2504652eaba6ae98 Mon Sep 17 00:00:00 2001
+From: Michal Pecio <michal.pecio@gmail.com>
+Date: Thu, 10 Apr 2025 18:18:25 +0300
+Subject: usb: xhci: Fix Short Packet handling rework ignoring errors
+
+From: Michal Pecio <michal.pecio@gmail.com>
+
+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 <michal.pecio@gmail.com>
+Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
+Link: https://lore.kernel.org/r/20250410151828.2868740-4-mathias.nyman@linux.intel.com
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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
+@@ -2927,7 +2927,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;
+ }
+