svn commit: r193675 - head/sys/net80211

Sam Leffler sam at FreeBSD.org
Mon Jun 8 03:18:45 UTC 2009


Author: sam
Date: Mon Jun  8 03:18:45 2009
New Revision: 193675
URL: http://svn.freebsd.org/changeset/base/193675

Log:
  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

Modified:
  head/sys/net80211/ieee80211_output.c

Modified: head/sys/net80211/ieee80211_output.c
==============================================================================
--- head/sys/net80211/ieee80211_output.c	Mon Jun  8 03:15:27 2009	(r193674)
+++ head/sys/net80211/ieee80211_output.c	Mon Jun  8 03:18:45 2009	(r193675)
@@ -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.
 		 */


More information about the svn-src-head mailing list