Merge "ath10k: Send vdev down if association to bss fails"
This commit is contained in:
commit
c1f41f5290
2 changed files with 8 additions and 2 deletions
|
@ -958,6 +958,7 @@ struct ath10k {
|
|||
struct fw_flag *fw_flags;
|
||||
/* set for bmi chip sets */
|
||||
bool is_bmi;
|
||||
enum ieee80211_sta_state sta_state;
|
||||
/* must be last */
|
||||
u8 drv_priv[0] __aligned(sizeof(void *));
|
||||
};
|
||||
|
|
|
@ -5924,6 +5924,9 @@ static int ath10k_sta_state(struct ieee80211_hw *hw,
|
|||
new_state == IEEE80211_STA_NOTEXIST))
|
||||
cancel_work_sync(&arsta->update_wk);
|
||||
|
||||
if (vif->type == NL80211_IFTYPE_STATION && new_state > ar->sta_state)
|
||||
ar->sta_state = new_state;
|
||||
|
||||
mutex_lock(&ar->conf_mutex);
|
||||
|
||||
if (old_state == IEEE80211_STA_NOTEXIST &&
|
||||
|
@ -7392,8 +7395,9 @@ ath10k_mac_op_unassign_vif_chanctx(struct ieee80211_hw *hw,
|
|||
ctx, arvif->vdev_id);
|
||||
|
||||
WARN_ON(!arvif->is_started);
|
||||
|
||||
if (vif->type == NL80211_IFTYPE_MONITOR) {
|
||||
if (vif->type == NL80211_IFTYPE_MONITOR ||
|
||||
(vif->type == NL80211_IFTYPE_STATION &&
|
||||
ar->sta_state < IEEE80211_STA_ASSOC)) {
|
||||
WARN_ON(!arvif->is_up);
|
||||
|
||||
ret = ath10k_wmi_vdev_down(ar, arvif->vdev_id);
|
||||
|
@ -7409,6 +7413,7 @@ ath10k_mac_op_unassign_vif_chanctx(struct ieee80211_hw *hw,
|
|||
ath10k_warn(ar, "failed to stop vdev %i: %d\n",
|
||||
arvif->vdev_id, ret);
|
||||
|
||||
ar->sta_state = IEEE80211_STA_NOTEXIST;
|
||||
arvif->is_started = false;
|
||||
|
||||
mutex_unlock(&ar->conf_mutex);
|
||||
|
|
Loading…
Add table
Reference in a new issue