From 403aa4c00b2cf953e71b82004790ff065d1f4b89 Mon Sep 17 00:00:00 2001 From: Michael Bestas Date: Wed, 19 Mar 2025 07:39:49 +0200 Subject: [PATCH] Revert "penang: device suspend tests fail" This reverts commit 485bfce7488fd22eb8e777d51eb94a027b514e20. Reason for revert: Conflicts with upstream commits. Change-Id: I5ca8bffe070c918271543678401d2d9ab25e4897 --- net/qrtr/qrtr.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/net/qrtr/qrtr.c b/net/qrtr/qrtr.c index 0b4873903143..81a87bc224eb 100644 --- a/net/qrtr/qrtr.c +++ b/net/qrtr/qrtr.c @@ -192,6 +192,7 @@ struct qrtr_node { struct wakeup_source *ws; void *ilc; + u32 nonwake_svc[MAX_NON_WAKE_SVC_LEN]; struct qrtr_array no_wake_svc; }; @@ -942,11 +943,15 @@ int qrtr_endpoint_post(struct qrtr_endpoint *ep, const void *data, size_t len) if (node->nid == 5) { svc_id = qrtr_get_service_id(cb->src_node, cb->src_port); - if (svc_id > 0){ - for (i = 0; i < node->no_wake_svc.size; i++) { - if (svc_id == node->no_wake_svc.arr[i]) { - wake = false; - break; + if (svc_id > 0) { + for (i = 0; i < MAX_NON_WAKE_SVC_LEN; i++) { + if (svc_id == node->nonwake_svc[i]) { + for (i = 0; i < node->no_wake_svc.size; i++) { + if (svc_id == node->no_wake_svc.arr[i]) { + wake = false; + break; + } + } } } } @@ -1199,6 +1204,8 @@ int qrtr_endpoint_register(struct qrtr_endpoint *ep, unsigned int net_id, if (rt) sched_setscheduler(node->task, SCHED_FIFO, ¶m); + if (svc_arr) + memcpy(node->nonwake_svc, svc_arr, MAX_NON_WAKE_SVC_LEN * sizeof(int)); if(svc_arr && svc_arr->size) { node->no_wake_svc.arr = kmalloc_array(svc_arr->size, sizeof(u32), GFP_KERNEL); memcpy((void *)node->no_wake_svc.arr, (void *)svc_arr->arr,