adsprpc: tvm: wakeup waiting rpc calls when secure PD exits

When secure PD exits in case of SSR or another scenario, notify
all rpc threads waiting on kernel. This should allow rpc threads
to return failure to TVM clients.

Change-Id: Ie0e97d2cb0e378b9b1c1e558f8ed642710690d1f
Signed-off-by: Edgar Flores <quic_edgarf@quicinc.com>
This commit is contained in:
Edgar Flores
2023-05-20 23:44:27 -07:00
committed by Gerrit - the friendly Code Review server
父節點 20d4dc0060
當前提交 64813776c7
共有 3 個文件被更改,包括 12 次插入0 次删除

查看文件

@@ -205,6 +205,7 @@ static void fastrpc_recv_del_server(struct frpc_transport_session_control *sessi
{
uint32_t remote_server_instance = session_control->remote_server_instance;
int32_t err = 0;
int32_t cid = 0;
/* Ignore EOF marker */
if (!node && !port) {
@@ -223,7 +224,9 @@ static void fastrpc_recv_del_server(struct frpc_transport_session_control *sessi
session_control->frpc_socket.remote_sock_addr.sq_port = 0;
session_control->remote_server_online = false;
mutex_unlock(&session_control->frpc_socket.socket_mutex);
cid = GET_CID_FROM_SERVER_INSTANCE(remote_server_instance);
ADSPRPC_INFO("Remote server is down: remote ID (0x%x)", remote_server_instance);
fastrpc_restart_drivers(cid);
bail:
if (err != -EINVAL && err)
ADSPRPC_WARN("Ignoring ctrl packet: node %u, port %u, err %d", node, port, err);