svn commit: r195226 - projects/mesh11s/sys/net80211

Sam Leffler sam at FreeBSD.org
Wed Jul 1 01:34:18 UTC 2009


Author: sam
Date: Wed Jul  1 01:34:17 2009
New Revision: 195226
URL: http://svn.freebsd.org/changeset/base/195226

Log:
  move work down so it's not done for dropped packets

Modified:
  projects/mesh11s/sys/net80211/ieee80211_mesh.c

Modified: projects/mesh11s/sys/net80211/ieee80211_mesh.c
==============================================================================
--- projects/mesh11s/sys/net80211/ieee80211_mesh.c	Wed Jul  1 01:32:33 2009	(r195225)
+++ projects/mesh11s/sys/net80211/ieee80211_mesh.c	Wed Jul  1 01:34:17 2009	(r195226)
@@ -524,15 +524,6 @@ mesh_input(struct ieee80211_node *ni, st
 		    (mtod(m, const uint8_t *) + hdrspace);
 		hdrspace += sizeof(struct ieee80211_meshcntl) +
 		    (mc->mc_flags & 3) * IEEE80211_ADDR_LEN;
-		/*
-		 * Save QoS bits for use below--before we strip the header.
-		 */
-		if (subtype == IEEE80211_FC0_SUBTYPE_QOS) {
-			qos = (dir == IEEE80211_FC1_DIR_DSTODS) ?
-			    ((struct ieee80211_qosframe_addr4 *)wh)->i_qos[0] :
-			    ((struct ieee80211_qosframe *)wh)->i_qos[0];
-		} else
-			qos = 0;
 
 		/*
 		 * BIG FAT XXX
@@ -574,6 +565,15 @@ mesh_input(struct ieee80211_node *ni, st
 		}
 deliver:
 		/*
+		 * Save QoS bits for use below--before we strip the header.
+		 */
+		if (subtype == IEEE80211_FC0_SUBTYPE_QOS) {
+			qos = (dir == IEEE80211_FC1_DIR_DSTODS) ?
+			    ((struct ieee80211_qosframe_addr4 *)wh)->i_qos[0] :
+			    ((struct ieee80211_qosframe *)wh)->i_qos[0];
+		} else
+			qos = 0;
+		/*
 		 * Next up, any fragmentation.
 		 */
 		if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) {


More information about the svn-src-projects mailing list