diff options
author | Maya Erez <merez@codeaurora.org> | 2019-02-22 15:21:04 +0100 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2019-02-28 10:24:59 +0100 |
commit | 979c9d8d01c482b1befb44dc639ecb907b5a37bd (patch) | |
tree | f178f48c23d8bec9a167259c96624fe8bff3b14e /drivers/net/wireless/ath/wil6210/wil6210.h | |
parent | wil6210: fix invalid sta statistics update (diff) | |
download | linux-979c9d8d01c482b1befb44dc639ecb907b5a37bd.tar.xz linux-979c9d8d01c482b1befb44dc639ecb907b5a37bd.zip |
wil6210: ignore HALP ICR if already handled
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>
Diffstat (limited to 'drivers/net/wireless/ath/wil6210/wil6210.h')
-rw-r--r-- | drivers/net/wireless/ath/wil6210/wil6210.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/wil6210/wil6210.h b/drivers/net/wireless/ath/wil6210/wil6210.h index 85dca1b05283..e1b1039b13ab 100644 --- a/drivers/net/wireless/ath/wil6210/wil6210.h +++ b/drivers/net/wireless/ath/wil6210/wil6210.h @@ -794,6 +794,7 @@ struct wil_halp { struct mutex lock; /* protect halp ref_cnt */ unsigned int ref_cnt; struct completion comp; + u8 handle_icr; }; struct wil_blob_wrapper { |