diff options
author | Ji Luo <ji.luo@nxp.com> | 2018-11-12 16:42:46 +0800 |
---|---|---|
committer | Ji Luo <ji.luo@nxp.com> | 2018-11-12 18:18:23 +0800 |
commit | 1b2d27563de3dcaa0c6caf447ae074f104c16ad1 (patch) | |
tree | 312011d43e320a65e1f6da727cf957f87c9f42ff /lib | |
parent | e48ceaae247211f53effd33371d0bfe20b8b867d (diff) |
MA-13365 [Trusty] Fix imx8q hang when rpmb key not set
Commit "ql-tipc: trusty_ipc: Change ipc polling to be per device" removes
rpmb_storage_proxy_poll() call in avb_do_tipc() which will return early
if the rpmb proxy service isn't initialized properly, this will make boards
hang if the rpmb key is not set.
Skip initializing AVB and Keymaster client if the rpmb key hasn't been
set, but keep the hwcrypto client initialization since we need it to
generate the rpmb key blob.
Test: Build and boot ok on imx8q.
Change-Id: I1ead849e812da55edae8b739d9ae56a7d4951af4
Signed-off-by: Ji Luo <ji.luo@nxp.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/trusty/ql-tipc/libtipc.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/lib/trusty/ql-tipc/libtipc.c b/lib/trusty/ql-tipc/libtipc.c index 9dd15a3567b..f1d523e7636 100644 --- a/lib/trusty/ql-tipc/libtipc.c +++ b/lib/trusty/ql-tipc/libtipc.c @@ -106,20 +106,20 @@ int trusty_ipc_init(void) #else return rc; #endif - } - - trusty_info("Initializing Trusty AVB client\n"); - rc = avb_tipc_init(_ipc_dev); - if (rc != 0) { - trusty_error("Initlializing Trusty AVB client failed (%d)\n", rc); - return rc; - } + } else { + trusty_info("Initializing Trusty AVB client\n"); + rc = avb_tipc_init(_ipc_dev); + if (rc != 0) { + trusty_error("Initlializing Trusty AVB client failed (%d)\n", rc); + return rc; + } - trusty_info("Initializing Trusty Keymaster client\n"); - rc = km_tipc_init(_ipc_dev); - if (rc != 0) { - trusty_error("Initlializing Trusty Keymaster client failed (%d)\n", rc); - return rc; + trusty_info("Initializing Trusty Keymaster client\n"); + rc = km_tipc_init(_ipc_dev); + if (rc != 0) { + trusty_error("Initlializing Trusty Keymaster client failed (%d)\n", rc); + return rc; + } } #ifdef CONFIG_ANDROID_AUTO_SUPPORT |