Daniel Mack [off-list ref] wrote:
In case wcn36xx_smd_rsp_process() is called more than once before
hal_ind_work was dispatched, the messages will end up in hal_ind_queue,
but wcn36xx_ind_smd_work() will only look at the first message in that
list.
Fix this by dequeing the messages from the list in a loop, and only stop
when it's empty.
This issue was found during a review of the driver. In my tests, that
race never actually occured.
Signed-off-by: Daniel Mack <daniel@zonque.org>
Reviewed-by: Bjorn Andersson <redacted>
Signed-off-by: Kalle Valo <redacted>
Patch applied to ath-next branch of ath.git, thanks.
f276ba06e8b2 wcn36xx: dequeue all pending indicator messages
--
https://patchwork.kernel.org/patch/10291683/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches