diff options
-rw-r--r-- | include/linux/ieee80211.h | 2 | ||||
-rw-r--r-- | net/wireless/util.c | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index 842701906ae9..19984958ab7b 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h | |||
@@ -138,6 +138,8 @@ | |||
138 | #define IEEE80211_WMM_IE_STA_QOSINFO_SP_MASK 0x03 | 138 | #define IEEE80211_WMM_IE_STA_QOSINFO_SP_MASK 0x03 |
139 | #define IEEE80211_WMM_IE_STA_QOSINFO_SP_SHIFT 5 | 139 | #define IEEE80211_WMM_IE_STA_QOSINFO_SP_SHIFT 5 |
140 | 140 | ||
141 | #define IEEE80211_HT_CTL_LEN 4 | ||
142 | |||
141 | struct ieee80211_hdr { | 143 | struct ieee80211_hdr { |
142 | __le16 frame_control; | 144 | __le16 frame_control; |
143 | __le16 duration_id; | 145 | __le16 duration_id; |
diff --git a/net/wireless/util.c b/net/wireless/util.c index 23557c1d0a9c..be2ab8c59e3a 100644 --- a/net/wireless/util.c +++ b/net/wireless/util.c | |||
@@ -227,8 +227,11 @@ unsigned int ieee80211_hdrlen(__le16 fc) | |||
227 | if (ieee80211_is_data(fc)) { | 227 | if (ieee80211_is_data(fc)) { |
228 | if (ieee80211_has_a4(fc)) | 228 | if (ieee80211_has_a4(fc)) |
229 | hdrlen = 30; | 229 | hdrlen = 30; |
230 | if (ieee80211_is_data_qos(fc)) | 230 | if (ieee80211_is_data_qos(fc)) { |
231 | hdrlen += IEEE80211_QOS_CTL_LEN; | 231 | hdrlen += IEEE80211_QOS_CTL_LEN; |
232 | if (ieee80211_has_order(fc)) | ||
233 | hdrlen += IEEE80211_HT_CTL_LEN; | ||
234 | } | ||
232 | goto out; | 235 | goto out; |
233 | } | 236 | } |
234 | 237 | ||