ath6kl: Fix 4-way handshake failure in AP and P2P GO mode
RSN capability field of RSN IE which is generated (which is what really advertised in beacon/probe response) differs from the one generated in wpa_supplicant. This inconsistency in rsn IE results in 4-way handshake failure. To fix this, configure rsn capability used in wpa_supplicant in firmware using a new wmi command, WMI_SET_IE_CMDID. There is a bit (ATH6KL_FW_CAPABILITY_RSN_CAP_OVERRIDE) in fw_capabilities to advertise this support to driver. Signed-off-by: Subramania Sharma <sharmat@qca.qualcomm.com> Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:

کامیت شده توسط
Kalle Valo

والد
df90b36940
کامیت
d97c121bb2
@@ -3221,6 +3221,29 @@ int ath6kl_wmi_set_appie_cmd(struct wmi *wmi, u8 if_idx, u8 mgmt_frm_type,
|
||||
NO_SYNC_WMIFLAG);
|
||||
}
|
||||
|
||||
int ath6kl_wmi_set_ie_cmd(struct wmi *wmi, u8 if_idx, u8 ie_id, u8 ie_field,
|
||||
const u8 *ie_info, u8 ie_len)
|
||||
{
|
||||
struct sk_buff *skb;
|
||||
struct wmi_set_ie_cmd *p;
|
||||
|
||||
skb = ath6kl_wmi_get_new_buf(sizeof(*p) + ie_len);
|
||||
if (!skb)
|
||||
return -ENOMEM;
|
||||
|
||||
ath6kl_dbg(ATH6KL_DBG_WMI, "set_ie_cmd: ie_id=%u ie_ie_field=%u ie_len=%u\n",
|
||||
ie_id, ie_field, ie_len);
|
||||
p = (struct wmi_set_ie_cmd *) skb->data;
|
||||
p->ie_id = ie_id;
|
||||
p->ie_field = ie_field;
|
||||
p->ie_len = ie_len;
|
||||
if (ie_info && ie_len > 0)
|
||||
memcpy(p->ie_info, ie_info, ie_len);
|
||||
|
||||
return ath6kl_wmi_cmd_send(wmi, if_idx, skb, WMI_SET_IE_CMDID,
|
||||
NO_SYNC_WMIFLAG);
|
||||
}
|
||||
|
||||
int ath6kl_wmi_disable_11b_rates_cmd(struct wmi *wmi, bool disable)
|
||||
{
|
||||
struct sk_buff *skb;
|
||||
|
مرجع در شماره جدید
Block a user