diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2017-06-24 09:54:57 -0500 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2017-06-26 14:28:58 +1000 |
commit | 8019007766da1a09b0280d37ab9e5aa4df396e7f (patch) | |
tree | 67330b664e20fecb36cbecb8607fc1cf96399706 | |
parent | 4df53124cb34de45dce045008e98c3477299050f (diff) | |
download | skiboot-8019007766da1a09b0280d37ab9e5aa4df396e7f.zip skiboot-8019007766da1a09b0280d37ab9e5aa4df396e7f.tar.gz skiboot-8019007766da1a09b0280d37ab9e5aa4df396e7f.tar.bz2 |
capp: Fix hang when CAPP microcode LID is missing on FSP machine
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@kernel.crashing.org>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
-rw-r--r-- | hw/capp.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -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; |