mwifiex: add client mac address while configuring keys on GO.
authorMaithili Hinge <maithili@marvell.com>
Tue, 30 Sep 2014 10:59:38 +0000 (16:29 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 30 Sep 2014 17:17:48 +0000 (13:17 -0400)
When mwifiex device becomes GO, unicast traffic between client1 and GO stops
when client2 connects to GO. Reason behind this was PTK getting
overwritten by key_material command for client2 as it did not have client
mac address. So, client1 can no more decode GO's ping packets though it
responds to its broadcast packets.

This patch adds case to check for BSS_ROLE instead of bss_type to set
client mac address while configuring keys when device becomes GO.

Signed-off-by: Maithili Hinge <maithili@marvell.com>
Signed-off-by: Avinash Patil <patila@marvell.com>
Signed-off-by: Cathy Luo <cluo@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/mwifiex/sta_cmd.c

index 225f749..1c2ca29 100644 (file)
@@ -938,7 +938,7 @@ mwifiex_cmd_802_11_key_material_v1(struct mwifiex_private *priv,
                cmd->size = cpu_to_le16(sizeof(key_material->action) + S_DS_GEN
                                        + key_param_len);
 
-               if (priv->bss_type == MWIFIEX_BSS_TYPE_UAP) {
+               if (GET_BSS_ROLE(priv) == MWIFIEX_BSS_ROLE_UAP) {
                        tlv_mac = (void *)((u8 *)&key_material->key_param_set +
                                           key_param_len);
                        tlv_mac->header.type =