summaryrefslogtreecommitdiffstats
path: root/sys/net80211
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2009-06-08 03:18:45 +0000
committersam <sam@FreeBSD.org>2009-06-08 03:18:45 +0000
commit9e25fe592208ec7b612880d5a7b6e6641a6d5217 (patch)
treeb36acdb021eab7e76ec2e88282dc45a638f8d56d /sys/net80211
parentd928fef9cef4028c64c41381600621e962d11893 (diff)
downloadFreeBSD-src-9e25fe592208ec7b612880d5a7b6e6641a6d5217.zip
FreeBSD-src-9e25fe592208ec7b612880d5a7b6e6641a6d5217.tar.gz
do not strip M_MORE_DATA on packets coming through ieee80211_start;
frames coming out of the ps q may have this set and removing it causes the 802.11 header to not indicate more frames follow which can result in the sta going to sleep and missing them
Diffstat (limited to 'sys/net80211')
-rw-r--r--sys/net80211/ieee80211_output.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/net80211/ieee80211_output.c b/sys/net80211/ieee80211_output.c
index 3700c63..ef74efc 100644
--- a/sys/net80211/ieee80211_output.c
+++ b/sys/net80211/ieee80211_output.c
@@ -153,13 +153,14 @@ ieee80211_start(struct ifnet *ifp)
break;
/*
* Sanitize mbuf flags for net80211 use. We cannot
- * clear M_PWR_SAV because this may be set for frames
- * that are re-submitted from the power save queue.
+ * clear M_PWR_SAV or M_MORE_DATA because these may
+ * be set for frames that are re-submitted from the
+ * power save queue.
*
* NB: This must be done before ieee80211_classify as
* it marks EAPOL in frames with M_EAPOL.
*/
- m->m_flags &= ~(M_80211_TX - M_PWR_SAV);
+ m->m_flags &= ~(M_80211_TX - M_PWR_SAV - M_MORE_DATA);
/*
* Cancel any background scan.
*/
OpenPOWER on IntegriCloud