ath9k_htc: avoid scheduling while atomic on sta_rc_update
mac80211 ->sta_rc_update() callback must be atomic. Since we have to take mutex and do other operations that can sleep when sending fimrware commands to device, the only option to satisfy atomicity requirement of ->sta_rc_update(), that I can see, is introduce work_struct and defer uploading new rates to that work. Tested-by: Oleksij Rempel <linux@rempel-privat.de> Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
此提交包含在:
@@ -262,6 +262,8 @@ enum tid_aggr_state {
|
||||
struct ath9k_htc_sta {
|
||||
u8 index;
|
||||
enum tid_aggr_state tid_state[ATH9K_HTC_MAX_TID];
|
||||
struct work_struct rc_update_work;
|
||||
struct ath9k_htc_priv *htc_priv;
|
||||
};
|
||||
|
||||
#define ATH9K_HTC_RXBUF 256
|
||||
|
新增問題並參考
封鎖使用者