mirror of
https://github.com/torvalds/linux.git
synced 2024-10-31 09:11:49 +00:00
ath6kl: Clear the IE in firmware if not set
Remove check so that IE in firmware is cleared if not set. Without this fix, any previously set IE will be used incorrectly in the next frame. For example, consider the scenario where a P2P device scan is followed by a regular station scan. The P2P IE set by the P2P scan needs to be cleared, otherwise the station scan will contain the P2P IE. kvalo: indentation fixes Signed-off-by: Aarthi Thiruvengadam <athiruve@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:
parent
e5348a1e33
commit
080eec4fb4
@ -885,11 +885,7 @@ static int ath6kl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
|
||||
request->ssids[i].ssid);
|
||||
}
|
||||
|
||||
/*
|
||||
* FIXME: we should clear the IE in fw if it's not set so just
|
||||
* remove the check altogether
|
||||
*/
|
||||
if (request->ie) {
|
||||
/* this also clears IE in fw if it's not set */
|
||||
ret = ath6kl_wmi_set_appie_cmd(ar->wmi, vif->fw_vif_idx,
|
||||
WMI_FRAME_PROBE_REQ,
|
||||
request->ie, request->ie_len);
|
||||
@ -898,7 +894,6 @@ static int ath6kl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
|
||||
"scan");
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Scan only the requested channels if the request specifies a set of
|
||||
@ -2301,28 +2296,27 @@ static int ath6kl_ap_beacon(struct wiphy *wiphy, struct net_device *dev,
|
||||
if (vif->next_mode != AP_NETWORK)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
if (info->beacon_ies) {
|
||||
/* this also clears IE in fw if it's not set */
|
||||
res = ath6kl_wmi_set_appie_cmd(ar->wmi, vif->fw_vif_idx,
|
||||
WMI_FRAME_BEACON,
|
||||
info->beacon_ies,
|
||||
info->beacon_ies_len);
|
||||
if (res)
|
||||
return res;
|
||||
}
|
||||
if (info->proberesp_ies) {
|
||||
|
||||
/* this also clears IE in fw if it's not set */
|
||||
res = ath6kl_set_ap_probe_resp_ies(vif, info->proberesp_ies,
|
||||
info->proberesp_ies_len);
|
||||
if (res)
|
||||
return res;
|
||||
}
|
||||
if (info->assocresp_ies) {
|
||||
|
||||
/* this also clears IE in fw if it's not set */
|
||||
res = ath6kl_wmi_set_appie_cmd(ar->wmi, vif->fw_vif_idx,
|
||||
WMI_FRAME_ASSOC_RESP,
|
||||
info->assocresp_ies,
|
||||
info->assocresp_ies_len);
|
||||
if (res)
|
||||
return res;
|
||||
}
|
||||
|
||||
if (!add)
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user