]> asedeno.scripts.mit.edu Git - linux.git/commit
wcn36xx: dequeue all pending indicator messages
authorDaniel Mack <daniel@zonque.org>
Tue, 27 Mar 2018 08:26:58 +0000 (11:26 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 29 Mar 2018 08:58:44 +0000 (11:58 +0300)
commitf276ba06e8b2db6d43b78964ec89b827d6b33537
treed23a40fd6b8e27dd49e51a5b87c809589fa923c8
parente5f9908155c96d945b6d1053701b6168c4e8decc
wcn36xx: dequeue all pending indicator messages

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 <bjorn.andersson@linaro.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/wcn36xx/smd.c