aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath6kl/wmi.h
diff options
context:
space:
mode:
authorJouni Malinen <jouni@qca.qualcomm.com>2011-09-05 10:38:45 -0400
committerKalle Valo <kvalo@qca.qualcomm.com>2011-09-06 03:44:03 -0400
commit572e27c00c9d1250ae2b4951eae7e73992174138 (patch)
tree6ce0dd1956526dc3990c37987983c433e9314371 /drivers/net/wireless/ath/ath6kl/wmi.h
parentd6e51e6a0cc50b6dd8d9f3a733427cca3f9afdee (diff)
ath6kl: Fix AP mode connect event parsing and TIM updates
This cleans up the connect event parsing by defining a union in struct wmi_connect_event to match with the three possible sets of fields that the target uses depending on which type of connect event is being indicated. In addition, two AP cases are now separated from ath6kl_connect_event() so that correct field names can be used to make it actually possible to understand what the code is doing. The bug hiding in the previous mess was in parsing the AID incorrectly when processing the new station connecting event in AP mode. The fix here for that is also fixing TIM updates for PS buffering to use the correct AID. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath6kl/wmi.h')
-rw-r--r--drivers/net/wireless/ath/ath6kl/wmi.h29
1 files changed, 24 insertions, 5 deletions
diff --git a/drivers/net/wireless/ath/ath6kl/wmi.h b/drivers/net/wireless/ath/ath6kl/wmi.h
index e86b81d326eb..5ca8c8e904cf 100644
--- a/drivers/net/wireless/ath/ath6kl/wmi.h
+++ b/drivers/net/wireless/ath/ath6kl/wmi.h
@@ -1275,11 +1275,30 @@ struct wmi_ready_event_2 {
1275 1275
1276/* Connect Event */ 1276/* Connect Event */
1277struct wmi_connect_event { 1277struct wmi_connect_event {
1278 __le16 ch; 1278 union {
1279 u8 bssid[ETH_ALEN]; 1279 struct {
1280 __le16 listen_intvl; 1280 __le16 ch;
1281 __le16 beacon_intvl; 1281 u8 bssid[ETH_ALEN];
1282 __le32 nw_type; 1282 __le16 listen_intvl;
1283 __le16 beacon_intvl;
1284 __le32 nw_type;
1285 } sta;
1286 struct {
1287 u8 phymode;
1288 u8 aid;
1289 u8 mac_addr[ETH_ALEN];
1290 u8 auth;
1291 u8 keymgmt;
1292 __le16 cipher;
1293 u8 apsd_info;
1294 u8 unused[3];
1295 } ap_sta;
1296 struct {
1297 __le16 ch;
1298 u8 bssid[ETH_ALEN];
1299 u8 unused[8];
1300 } ap_bss;
1301 } u;
1283 u8 beacon_ie_len; 1302 u8 beacon_ie_len;
1284 u8 assoc_req_len; 1303 u8 assoc_req_len;
1285 u8 assoc_resp_len; 1304 u8 assoc_resp_len;