]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
wil6210: ignore HALP ICR if already handled
authorMaya Erez <merez@codeaurora.org>
Fri, 22 Feb 2019 14:21:04 +0000 (16:21 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 21 Apr 2020 07:03:12 +0000 (09:03 +0200)
commitced3402c366eef8e400faa5646186a36d5932c12
treeace96b9d10aaffbad917a516528f59c1171c58db
parent9d9cb5efdc4c9a690bff5cf63b021c47e19f0238
wil6210: ignore HALP ICR if already handled

commit 979c9d8d01c482b1befb44dc639ecb907b5a37bd upstream.

HALP ICR is set as long as the FW should stay awake.
To prevent its multiple handling the driver masks this IRQ bit.
However, if there is a different MISC ICR before the driver clears
this bit, there is a risk of race condition between HALP mask and
unmask. This race leads to HALP timeout, in case it is mistakenly
masked.
Add an atomic flag to indicate if HALP ICR should be handled.

Signed-off-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/wireless/ath/wil6210/interrupt.c
drivers/net/wireless/ath/wil6210/main.c
drivers/net/wireless/ath/wil6210/wil6210.h