aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/net/ieee80211.h5
-rw-r--r--net/ieee80211/ieee80211_rx.c10
2 files changed, 5 insertions, 10 deletions
diff --git a/include/net/ieee80211.h b/include/net/ieee80211.h
index 6394ae4bf17..27374c27c40 100644
--- a/include/net/ieee80211.h
+++ b/include/net/ieee80211.h
@@ -505,11 +505,6 @@ enum ieee80211_mfie {
MFIE_TYPE_GENERIC = 221,
};
-struct ieee80211_info_element_hdr {
- u8 id;
- u8 len;
-} __attribute__ ((packed));
-
struct ieee80211_info_element {
u8 id;
u8 len;
diff --git a/net/ieee80211/ieee80211_rx.c b/net/ieee80211/ieee80211_rx.c
index cae55e5ccb2..e0337c8fcde 100644
--- a/net/ieee80211/ieee80211_rx.c
+++ b/net/ieee80211/ieee80211_rx.c
@@ -823,10 +823,10 @@ static inline int ieee80211_network_init(struct ieee80211_device *ieee, struct i
network->rsn_ie_len = 0;
info_element = beacon->info_element;
- left = stats->len - ((void *)info_element - (void *)beacon);
- while (left >= sizeof(struct ieee80211_info_element_hdr)) {
- if (sizeof(struct ieee80211_info_element_hdr) +
- info_element->len > left) {
+ left = stats->len - sizeof(*beacon);
+ while (left >= sizeof(struct ieee80211_info_element)) {
+ if (sizeof(struct ieee80211_info_element) + info_element->len >
+ left) {
IEEE80211_DEBUG_SCAN
("SCAN: parse failed: info_element->len + 2 > left : info_element->len+2=%Zd left=%d.\n",
info_element->len +
@@ -967,7 +967,7 @@ static inline int ieee80211_network_init(struct ieee80211_device *ieee, struct i
break;
}
- left -= sizeof(struct ieee80211_info_element_hdr) +
+ left -= sizeof(struct ieee80211_info_element) +
info_element->len;
info_element = (struct ieee80211_info_element *)
&info_element->data[info_element->len];