diff --git a/net/qrtr/af_qrtr.c b/net/qrtr/af_qrtr.c index 7bfad4db18ad..db0be1473616 100644 --- a/net/qrtr/af_qrtr.c +++ b/net/qrtr/af_qrtr.c @@ -893,6 +893,7 @@ int qrtr_endpoint_post(struct qrtr_endpoint *ep, const void *data, size_t len) /* All control packets and non-local destined data packets should be * queued to the worker for forwarding handling. */ + svc_id = qrtr_get_service_id(cb->src_node, cb->src_port); if (cb->type != QRTR_TYPE_DATA || cb->dst_node != qrtr_local_nid) { skb_queue_tail(&node->rx_queue, skb); kthread_queue_work(&node->kworker, &node->read_data); @@ -910,7 +911,6 @@ int qrtr_endpoint_post(struct qrtr_endpoint *ep, const void *data, size_t len) } /* Force wakeup based on services */ - svc_id = qrtr_get_service_id(cb->src_node, cb->src_port); if (!xa_load(&node->no_wake_svc, svc_id)) pm_wakeup_ws_event(node->ws, qrtr_wakeup_ms, true);