diff options
author | sam <sam@FreeBSD.org> | 2009-06-08 03:18:45 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2009-06-08 03:18:45 +0000 |
commit | 9e25fe592208ec7b612880d5a7b6e6641a6d5217 (patch) | |
tree | b36acdb021eab7e76ec2e88282dc45a638f8d56d /sys/net80211 | |
parent | d928fef9cef4028c64c41381600621e962d11893 (diff) | |
download | FreeBSD-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.c | 7 |
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. */ |