Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3699f69f authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "net: qrtr: Move service id based filter check before queueing skb"

parents 019027da 87acdd70
Loading
Loading
Loading
Loading
+12 −9
Original line number Diff line number Diff line
@@ -939,13 +939,6 @@ int qrtr_endpoint_post(struct qrtr_endpoint *ep, const void *data, size_t len)
			return -ENODEV;
		}

		if (sock_queue_rcv_skb(&ipc->sk, skb))
			goto err;

		/* Force wakeup for all packets except for sensors */
		if (node->nid != 9 && node->nid != 5)
			pm_wakeup_ws_event(node->ws, qrtr_wakeup_ms, true);

		if (node->nid == 5) {
			svc_id = qrtr_get_service_id(cb->src_node, cb->src_port);
			if (svc_id > 0) {
@@ -956,9 +949,19 @@ int qrtr_endpoint_post(struct qrtr_endpoint *ep, const void *data, size_t len)
					}
				}
			}
			if (wake)
				pm_wakeup_ws_event(node->ws, qrtr_wakeup_ms, true);
		}

		if (sock_queue_rcv_skb(&ipc->sk, skb))
			goto err;

		/**
		 * Force wakeup for all packets except for sensors and blacklisted services
		 * from adsp side
		 */
		if ((node->nid != 9 && node->nid != 5) ||
		    (node->nid == 5 && wake))
			pm_wakeup_ws_event(node->ws, qrtr_wakeup_ms, true);

		qrtr_port_put(ipc);
	}