diff options
| author | Sergey Matyukevich | 2019-04-09 09:35:08 +0200 |
|---|---|---|
| committer | Kalle Valo | 2019-04-26 13:53:12 +0200 |
| commit | 4f87d486faf194ba58efaef8192a71e9ffec852e (patch) | |
| tree | f8cf754ffd7583175200fbf3ffbc87431f682da6 | |
| parent | wlcore: simplify/fix/optimize reg_ch_conf_pending operations (diff) | |
| download | kernel-qcow2-linux-4f87d486faf194ba58efaef8192a71e9ffec852e.tar.gz kernel-qcow2-linux-4f87d486faf194ba58efaef8192a71e9ffec852e.tar.xz kernel-qcow2-linux-4f87d486faf194ba58efaef8192a71e9ffec852e.zip | |
qtnfmac: handle channel switch events for connected stations only
Channel switch events from firmware should be processed only when STA
is already connected to BSS. On connect this notification is not needed
since full BSS info will be supplied by cfg80211_connect_result.
Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
| -rw-r--r-- | drivers/net/wireless/quantenna/qtnfmac/event.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/drivers/net/wireless/quantenna/qtnfmac/event.c b/drivers/net/wireless/quantenna/qtnfmac/event.c index 6c1b886339ac..b57c8c18a8d0 100644 --- a/drivers/net/wireless/quantenna/qtnfmac/event.c +++ b/drivers/net/wireless/quantenna/qtnfmac/event.c @@ -493,14 +493,20 @@ qtnf_event_handle_freq_change(struct qtnf_wmac *mac, for (i = 0; i < QTNF_MAX_INTF; i++) { vif = &mac->iflist[i]; + if (vif->wdev.iftype == NL80211_IFTYPE_UNSPECIFIED) continue; - if (vif->netdev) { - mutex_lock(&vif->wdev.mtx); - cfg80211_ch_switch_notify(vif->netdev, &chandef); - mutex_unlock(&vif->wdev.mtx); - } + if (vif->wdev.iftype == NL80211_IFTYPE_STATION && + !vif->wdev.current_bss) + continue; + + if (!vif->netdev) + continue; + + mutex_lock(&vif->wdev.mtx); + cfg80211_ch_switch_notify(vif->netdev, &chandef); + mutex_unlock(&vif->wdev.mtx); } return 0; |
