When wifi is turned off, if the connectivity logging queue is
not empty, the wlan logging thread tries to dequeue the record
and send the logging event to the userspace. While performing
dequeue operation, the records from queue are copied to temporary
buffer before read pointer is incremented. There could be a
condition where this buffer is allocated in ini domain after stop
modules is done and freed in active domain if the wlan_logging
thread is preempted during stop modules.
So to avoid this domain mismatch, start the queue only if
start_modules is done and stop the queue after stop modules
to avoid dequeue being done during/after stop modules.
Change-Id: Ied8c36b19bc66474d3c4d8f913f3e3dbf9a574a0
CRs-Fixed: 3035644
Restrict the dequeue logic to send only 20 logs per second
to userspace. Add check to see if queue is empty before
trying to dequeue.
Change-Id: I778556c649d123718cf76c943c5b2ed7f6c6e8e5
CRs-Fixed: 3014554
Add new files for connect/roam logging. Add changes to
initialize the logging buffer.
Make changes to support enqueue/dequeue log.
Define enums for MAIN_TAG, Sub TAG, category.
Add structure definitions for logging buffer.
Change-Id: I1d283fcf464da90d4f5533214d480ddda156ec27
CRs-Fixed: 3013486