[Skiboot] [PATCH] capp: Fix hang when CAPP microcode LID is missing on FSP machine
Benjamin Herrenschmidt
benh at kernel.crashing.org
Sun Jun 25 00:54:57 AEST 2017
When the LID is absent, we fail early with an error from
start_preload_resource. In that case, capp_ucode_info.load_result
isn't set properly causing a subsequent capp_lid_download() to
call wait_for_resource_loaded() on something that isn't being
loaded, thus hanging.
Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
---
hw/capp.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/hw/capp.c b/hw/capp.c
index 28a0a4e..eeaa4ac 100644
--- a/hw/capp.c
+++ b/hw/capp.c
@@ -100,8 +100,10 @@ int preload_capp_ucode(void)
capp_ucode_info.lid,
&capp_ucode_info.size);
- if (ret != OPAL_SUCCESS)
+ if (ret != OPAL_SUCCESS) {
prerror("CAPI: Failed to preload resource %d\n", ret);
+ capp_ucode_info.load_result = ret;
+ }
end:
return ret;
More information about the Skiboot
mailing list