Signed-off-by: Harvey Harrison <harvey.harrison@xxxxxxxxx> --- net/mac80211/util.c | 11 ++++------- 1 files changed, 4 insertions(+), 7 deletions(-) diff --git a/net/mac80211/util.c b/net/mac80211/util.c index cc9f715..9960372 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c @@ -101,16 +101,13 @@ int ieee80211_get_hdrlen(u16 fc) switch (fc & IEEE80211_FCTL_FTYPE) { case IEEE80211_FTYPE_DATA: if ((fc & IEEE80211_FCTL_FROMDS) && (fc & IEEE80211_FCTL_TODS)) - hdrlen = 30; /* Addr4 */ + hdrlen += ETH_ALEN; /* Addr4 */ /* * The QoS Control field is two bytes and its presence is - * indicated by the IEEE80211_STYPE_QOS_DATA bit. Add 2 to - * hdrlen if that bit is set. - * This works by masking out the bit and shifting it to - * bit position 1 so the result has the value 0 or 2. + * indicated by the IEEE80211_STYPE_QOS_DATA bit. */ - hdrlen += (fc & IEEE80211_STYPE_QOS_DATA) - >> (ilog2(IEEE80211_STYPE_QOS_DATA)-1); + if (fc & IEEE80211_STYPE_QOS_DATA) + hdrlen += 2; break; case IEEE80211_FTYPE_CTL: /* -- 1.5.5.144.g3e42 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html