seos: fix evtType sent to EVT_APP_FREE_EVT_DATA
EVT_APP_FREE_EVT_DATA expected to receive back the evtType
that the event was enqueued as, but was receiving the tid
in the upper bits of the evtType. Use EVENT_GET_EVENT to
strip off the tid.
Bug: 33693823
Test: run Stress test from LocationTestAppGeofenceEdits.apk
Change-Id: I35962cc2d1445644d9eb0d6e5a74b90e665b38f3
Signed-off-by: Ben Fennema <fennema@google.com>
diff --git a/firmware/os/core/seos.c b/firmware/os/core/seos.c
index 4a48a48..ef7b6bb 100644
--- a/firmware/os/core/seos.c
+++ b/firmware/os/core/seos.c
@@ -367,7 +367,7 @@
osSetCurrentTask(preempted);
} else {
// this is for external non-CHRE tasks
- struct AppEventFreeData fd = {.evtType = evtType, .evtData = evtData};
+ struct AppEventFreeData fd = {.evtType = EVENT_GET_EVENT(evtType), .evtData = evtData};
osTaskHandle(srcTask, EVT_APP_FREE_EVT_DATA, OS_SYSTEM_TID, &fd);
}
osTaskAddIoCount(srcTask, -1);