ath6kl: Indicate WAPI IE from (Re)Association Request frame
authorDai Shuibing <shuibing@qca.qualcomm.com>
Thu, 3 Nov 2011 09:39:39 +0000 (11:39 +0200)
committerKalle Valo <kvalo@qca.qualcomm.com>
Sun, 13 Nov 2011 08:57:38 +0000 (10:57 +0200)
This is needed to know whether the STA requests WAPI to be used and if
so, with what AKM and cipher.

Signed-off-by: Dai Shuibing <shuibing@qca.qualcomm.com>
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath6kl/main.c

index 5e5f4ca..1195f94 100644 (file)
@@ -534,6 +534,18 @@ void ath6kl_connect_ap_mode_sta(struct ath6kl_vif *vif, u16 aid, u8 *mac_addr,
                                wpa_ie = pos; /* WPS IE */
                                break; /* overrides WPA/RSN IE */
                        }
+               } else if (pos[0] == 0x44 && wpa_ie == NULL) {
+                       /*
+                        * Note: WAPI Parameter Set IE re-uses Element ID that
+                        * was officially allocated for BSS AC Access Delay. As
+                        * such, we need to be a bit more careful on when
+                        * parsing the frame. However, BSS AC Access Delay
+                        * element is not supposed to be included in
+                        * (Re)Association Request frames, so this should not
+                        * cause problems.
+                        */
+                       wpa_ie = pos; /* WAPI IE */
+                       break;
                }
                pos += 2 + pos[1];
        }