Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Jul 2005 04:24:09 GMT
From:      Sam Leffler <sam@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 80576 for review
Message-ID:  <200507200424.j6K4O9rH023270@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=80576

Change 80576 by sam@sam_ebb on 2005/07/20 04:23:15

	correct !ff check for tx fragmentation; can't depend on
	M_FF being set after ff encapsulation is done

Affected files ...

.. //depot/projects/wifi/sys/net80211/ieee80211_output.c#46 edit

Differences ...

==== //depot/projects/wifi/sys/net80211/ieee80211_output.c#46 (text+ko) ====

@@ -486,7 +486,7 @@
 	struct ieee80211_frame *wh;
 	struct ieee80211_key *key;
 	struct llc *llc;
-	int hdrsize, datalen, addqos, txfrag;
+	int hdrsize, datalen, addqos, txfrag, isff;
 
 	/*
 	 * Copy existing Ethernet header to a safe place.  The
@@ -540,7 +540,7 @@
 	if (ic->ic_flags & IEEE80211_F_DATAPAD)
 		hdrsize = roundup(hdrsize, sizeof(u_int32_t));
 
-	if (m->m_flags & M_FF) {
+	if ((isff = m->m_flags & M_FF) != 0) {
 		struct mbuf *m2;
 		struct ether_header eh2;
 
@@ -671,7 +671,7 @@
 	/* check if xmit fragmentation is required */
 	txfrag = (m->m_pkthdr.len > ic->ic_fragthreshold &&
 	    !IEEE80211_IS_MULTICAST(wh->i_addr1) &&
-	    (m->m_flags & M_FF) == 0);		/* NB: don't fragment ff's */
+	    !isff);		/* NB: don't fragment ff's */
 	if (key != NULL) {
 		/*
 		 * IEEE 802.1X: send EAPOL frames always in the clear.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200507200424.j6K4O9rH023270>