summaryrefslogtreecommitdiffstats
path: root/sys/net80211
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2007-11-08 17:11:40 +0000
committersam <sam@FreeBSD.org>2007-11-08 17:11:40 +0000
commit2543bc560678aa66522103e533df6fea857502d1 (patch)
tree39597d1430d572100c7c4cafcb179026c655eb5b /sys/net80211
parent3a40a5ed4b786bf73f078c9fe24b319789a2c8a6 (diff)
downloadFreeBSD-src-2543bc560678aa66522103e533df6fea857502d1.zip
FreeBSD-src-2543bc560678aa66522103e533df6fea857502d1.tar.gz
correct termination check doing amsdu de-aggregation
MFC after: 3 days
Diffstat (limited to 'sys/net80211')
-rw-r--r--sys/net80211/ieee80211_ht.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/sys/net80211/ieee80211_ht.c b/sys/net80211/ieee80211_ht.c
index 0a8341a..1cca85c1 100644
--- a/sys/net80211/ieee80211_ht.c
+++ b/sys/net80211/ieee80211_ht.c
@@ -205,7 +205,7 @@ struct mbuf *
ieee80211_decap_amsdu(struct ieee80211_node *ni, struct mbuf *m)
{
struct ieee80211com *ic = ni->ni_ic;
- int totallen, framelen;
+ int framelen;
struct mbuf *n;
/* discard 802.3 header inserted by ieee80211_decap */
@@ -213,7 +213,6 @@ ieee80211_decap_amsdu(struct ieee80211_node *ni, struct mbuf *m)
ic->ic_stats.is_amsdu_decap++;
- totallen = m->m_pkthdr.len;
for (;;) {
/*
* Decap the first frame, bust it apart from the
@@ -224,11 +223,11 @@ ieee80211_decap_amsdu(struct ieee80211_node *ni, struct mbuf *m)
m = ieee80211_decap1(m, &framelen);
if (m == NULL) {
IEEE80211_DISCARD_MAC(ic, IEEE80211_MSG_ANY,
- ni->ni_macaddr, "a-msdu", "%s", "first decap failed");
+ ni->ni_macaddr, "a-msdu", "%s", "decap failed");
ic->ic_stats.is_amsdu_tooshort++;
return NULL;
}
- if (framelen == totallen)
+ if (m->m_pkthdr.len == framelen)
break;
n = m_split(m, framelen, M_NOWAIT);
if (n == NULL) {
OpenPOWER on IntegriCloud