wil6210: send connect request IEs to FW also for non-secure connection

Driver is sending connect request IEs to FW only for secure connection and
ignores them for non-secure connection.
This is fixed by always sending the IEs to FW upon connect request

Signed-off-by: Dedy Lansky <qca_dlansky@qca.qualcomm.com>
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Vladimir Kondratiev 2014-09-10 16:34:43 +03:00 committed by John W. Linville
parent ec81b5adf4
commit ac4acdb7af
2 changed files with 13 additions and 11 deletions

View File

@ -379,22 +379,22 @@ static int wil_cfg80211_connect(struct wiphy *wiphy,
sme->ie_len); sme->ie_len);
goto out; goto out;
} }
/* /* For secure assoc, send WMI_DELETE_CIPHER_KEY_CMD */
* For secure assoc, send:
* (1) WMI_DELETE_CIPHER_KEY_CMD
* (2) WMI_SET_APPIE_CMD
*/
rc = wmi_del_cipher_key(wil, 0, bss->bssid); rc = wmi_del_cipher_key(wil, 0, bss->bssid);
if (rc) { if (rc) {
wil_err(wil, "WMI_DELETE_CIPHER_KEY_CMD failed\n"); wil_err(wil, "WMI_DELETE_CIPHER_KEY_CMD failed\n");
goto out; goto out;
} }
/* WMI_SET_APPIE_CMD */ }
rc = wmi_set_ie(wil, WMI_FRAME_ASSOC_REQ, sme->ie_len, sme->ie);
if (rc) { /* WMI_SET_APPIE_CMD. ie may contain rsn info as well as other info
wil_err(wil, "WMI_SET_APPIE_CMD failed\n"); * elements. Send it also in case it's empty, to erase previously set
goto out; * ies in FW.
} */
rc = wmi_set_ie(wil, WMI_FRAME_ASSOC_REQ, sme->ie_len, sme->ie);
if (rc) {
wil_err(wil, "WMI_SET_APPIE_CMD failed\n");
goto out;
} }
/* WMI_CONNECT_CMD */ /* WMI_CONNECT_CMD */

View File

@ -972,6 +972,8 @@ int wmi_set_ie(struct wil6210_priv *wil, u8 type, u16 ie_len, const void *ie)
if (!cmd) if (!cmd)
return -ENOMEM; return -ENOMEM;
if (!ie)
ie_len = 0;
cmd->mgmt_frm_type = type; cmd->mgmt_frm_type = type;
/* BUG: FW API define ieLen as u8. Will fix FW */ /* BUG: FW API define ieLen as u8. Will fix FW */