wil6210: notify cqm packet loss on disable_ap_sme

wil6210 used to notify cfg80211_del_sta on every fw disconnect event.
In disable_ap_sme mode the userspace manages the protocol SME and
FW sends disconnect event only due to link loss.

In disable_ap_sme mode, indicate CQM packet loss to let the host
control the connection and disconnect the link if needed.

Signed-off-by: Ahmad Masri <amasri@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
Ahmad Masri 2018-10-31 10:52:16 +02:00 committed by Kalle Valo
parent e1b43407c0
commit b571e71bcb

View File

@ -1113,6 +1113,23 @@ static void wmi_evt_disconnect(struct wil6210_vif *vif, int id,
mutex_lock(&wil->mutex);
wil6210_disconnect_complete(vif, evt->bssid, reason_code);
if (disable_ap_sme) {
struct wireless_dev *wdev = vif_to_wdev(vif);
struct net_device *ndev = vif_to_ndev(vif);
/* disconnect event in disable_ap_sme mode means link loss */
switch (wdev->iftype) {
/* AP-like interface */
case NL80211_IFTYPE_AP:
case NL80211_IFTYPE_P2P_GO:
/* notify hostapd about link loss */
cfg80211_cqm_pktloss_notify(ndev, evt->bssid, 0,
GFP_KERNEL);
break;
default:
break;
}
}
mutex_unlock(&wil->mutex);
}