From ecaafddf5eb65df70cc26d3e0a69fc8a4e449658 Mon Sep 17 00:00:00 2001 From: Sarannya S Date: Wed, 1 Jun 2022 15:33:10 +0530 Subject: [PATCH] net: qrtr: Use xa_load in qrtr_get_service_id In qrtr_get_service_id, use xa_load instead of node_get to check if the node exists or not. Calling node_get from interrupt context can cause potential deadlock since it calls into xa_store to allocate the node if it does not exist. Change-Id: Ida9f7a113417f0d184c0903004d94dd2eca6c472 Signed-off-by: Sarannya S --- net/qrtr/ns.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/qrtr/ns.c b/net/qrtr/ns.c index fb248f4fb934..8f40c3fedf22 100644 --- a/net/qrtr/ns.c +++ b/net/qrtr/ns.c @@ -105,7 +105,7 @@ int qrtr_get_service_id(unsigned int node_id, unsigned int port_id) struct qrtr_node *node; unsigned long index; - node = node_get(node_id); + node = xa_load(&nodes, node_id); if (!node) return -EINVAL;