diff options
-rw-r--r-- | include/net/ieee80211.h | 8 | ||||
-rw-r--r-- | net/ieee80211/ieee80211_rx.c | 4 |
2 files changed, 6 insertions, 6 deletions
diff --git a/include/net/ieee80211.h b/include/net/ieee80211.h index d8bb8f74ed7b..6394ae4bf17d 100644 --- a/include/net/ieee80211.h +++ b/include/net/ieee80211.h | |||
@@ -538,7 +538,7 @@ struct ieee80211_authentication { | |||
538 | __le16 algorithm; | 538 | __le16 algorithm; |
539 | __le16 transaction; | 539 | __le16 transaction; |
540 | __le16 status; | 540 | __le16 status; |
541 | struct ieee80211_info_element info_element; | 541 | struct ieee80211_info_element info_element[0]; |
542 | } __attribute__ ((packed)); | 542 | } __attribute__ ((packed)); |
543 | 543 | ||
544 | struct ieee80211_probe_response { | 544 | struct ieee80211_probe_response { |
@@ -546,14 +546,14 @@ struct ieee80211_probe_response { | |||
546 | u32 time_stamp[2]; | 546 | u32 time_stamp[2]; |
547 | __le16 beacon_interval; | 547 | __le16 beacon_interval; |
548 | __le16 capability; | 548 | __le16 capability; |
549 | struct ieee80211_info_element info_element; | 549 | struct ieee80211_info_element info_element[0]; |
550 | } __attribute__ ((packed)); | 550 | } __attribute__ ((packed)); |
551 | 551 | ||
552 | struct ieee80211_assoc_request_frame { | 552 | struct ieee80211_assoc_request_frame { |
553 | __le16 capability; | 553 | __le16 capability; |
554 | __le16 listen_interval; | 554 | __le16 listen_interval; |
555 | u8 current_ap[ETH_ALEN]; | 555 | u8 current_ap[ETH_ALEN]; |
556 | struct ieee80211_info_element info_element; | 556 | struct ieee80211_info_element info_element[0]; |
557 | } __attribute__ ((packed)); | 557 | } __attribute__ ((packed)); |
558 | 558 | ||
559 | struct ieee80211_assoc_response_frame { | 559 | struct ieee80211_assoc_response_frame { |
@@ -561,7 +561,7 @@ struct ieee80211_assoc_response_frame { | |||
561 | __le16 capability; | 561 | __le16 capability; |
562 | __le16 status; | 562 | __le16 status; |
563 | __le16 aid; | 563 | __le16 aid; |
564 | struct ieee80211_info_element info_element; /* supported rates */ | 564 | struct ieee80211_info_element info_element[0]; /* supported rates */ |
565 | } __attribute__ ((packed)); | 565 | } __attribute__ ((packed)); |
566 | 566 | ||
567 | struct ieee80211_txb { | 567 | struct ieee80211_txb { |
diff --git a/net/ieee80211/ieee80211_rx.c b/net/ieee80211/ieee80211_rx.c index 6bbaa44a0d03..cae55e5ccb2e 100644 --- a/net/ieee80211/ieee80211_rx.c +++ b/net/ieee80211/ieee80211_rx.c | |||
@@ -822,7 +822,7 @@ static inline int ieee80211_network_init(struct ieee80211_device *ieee, struct i | |||
822 | network->wpa_ie_len = 0; | 822 | network->wpa_ie_len = 0; |
823 | network->rsn_ie_len = 0; | 823 | network->rsn_ie_len = 0; |
824 | 824 | ||
825 | info_element = &beacon->info_element; | 825 | info_element = beacon->info_element; |
826 | left = stats->len - ((void *)info_element - (void *)beacon); | 826 | left = stats->len - ((void *)info_element - (void *)beacon); |
827 | while (left >= sizeof(struct ieee80211_info_element_hdr)) { | 827 | while (left >= sizeof(struct ieee80211_info_element_hdr)) { |
828 | if (sizeof(struct ieee80211_info_element_hdr) + | 828 | if (sizeof(struct ieee80211_info_element_hdr) + |
@@ -1050,7 +1050,7 @@ static inline void ieee80211_process_probe_response(struct ieee80211_device | |||
1050 | struct ieee80211_network *target; | 1050 | struct ieee80211_network *target; |
1051 | struct ieee80211_network *oldest = NULL; | 1051 | struct ieee80211_network *oldest = NULL; |
1052 | #ifdef CONFIG_IEEE80211_DEBUG | 1052 | #ifdef CONFIG_IEEE80211_DEBUG |
1053 | struct ieee80211_info_element *info_element = &beacon->info_element; | 1053 | struct ieee80211_info_element *info_element = beacon->info_element; |
1054 | #endif | 1054 | #endif |
1055 | unsigned long flags; | 1055 | unsigned long flags; |
1056 | 1056 | ||