--- /dev/null
+From 3522340199cc060b70f0094e3039bdb43c3f6ee1 Mon Sep 17 00:00:00 2001
+From: Pierre Gondois <pierre.gondois@arm.com>
+Date: Fri, 14 Apr 2023 10:14:51 +0200
+Subject: arch_topology: Remove early cacheinfo error message if -ENOENT
+
+From: Pierre Gondois <pierre.gondois@arm.com>
+
+commit 3522340199cc060b70f0094e3039bdb43c3f6ee1 upstream.
+
+fetch_cache_info() tries to get the number of cache leaves/levels
+for each CPU in order to pre-allocate memory for cacheinfo struct.
+Allocating this memory later triggers a:
+ 'BUG: sleeping function called from invalid context'
+in PREEMPT_RT kernels.
+
+If there is no cache related information available in DT or ACPI,
+fetch_cache_info() fails and an error message is printed:
+ 'Early cacheinfo failed, ret = ...'
+
+Not having cache information should be a valid configuration.
+Remove the error message if fetch_cache_info() fails with -ENOENT.
+
+Suggested-by: Conor Dooley <conor.dooley@microchip.com>
+Link: https://lore.kernel.org/all/20230404-hatred-swimmer-6fecdf33b57a@spud/
+Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
+Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
+Link: https://lore.kernel.org/r/20230414081453.244787-4-pierre.gondois@arm.com
+Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
+Cc: Florian Fainelli <f.fainelli@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/base/arch_topology.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+--- a/drivers/base/arch_topology.c
++++ b/drivers/base/arch_topology.c
+@@ -843,10 +843,11 @@ void __init init_cpu_topology(void)
+
+ for_each_possible_cpu(cpu) {
+ ret = fetch_cache_info(cpu);
+- if (ret) {
++ if (!ret)
++ continue;
++ else if (ret != -ENOENT)
+ pr_err("Early cacheinfo failed, ret = %d\n", ret);
+- break;
+- }
++ return;
+ }
+ }
+