Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Oct 2008 23:15:58 GMT
From:      Sam Leffler <sam@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 151524 for review
Message-ID:  <200810182315.m9INFw4R076554@repoman.freebsd.org>

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

Change 151524 by sam@sam_ebb on 2008/10/18 23:15:52

	remove driver-private txparms tracking, net80211 does
	this for us now

Affected files ...

.. //depot/projects/vap/sys/dev/mwl/if_mwl.c#18 edit
.. //depot/projects/vap/sys/dev/mwl/if_mwlvar.h#3 edit

Differences ...

==== //depot/projects/vap/sys/dev/mwl/if_mwl.c#18 (text+ko) ====

@@ -1068,31 +1068,20 @@
 {
 	struct mwl_vap *mvp = MWL_VAP(vap);
 	struct ieee80211_node *ni = vap->iv_bss;
-	enum ieee80211_phymode mode;
+	const struct ieee80211_txparam *tp = ni->ni_txparms;
 	MWL_HAL_TXRATE rates;
 
 	KASSERT(vap->iv_state == IEEE80211_S_RUN, ("state %d", vap->iv_state));
 
-	mode = ieee80211_chan2mode(ni->ni_chan);
 	/*
-	 * Use legacy rates when operating a mixed HT+non-HT bss.
-	 * NB: this may violate POLA for sta and wds vap's.
-	 */
-	if (mode == IEEE80211_MODE_11NA &&
-	    (vap->iv_flags_ext & IEEE80211_FEXT_PUREN) == 0)
-		mode = IEEE80211_MODE_11A;
-	else if (mode == IEEE80211_MODE_11NG &&
-	    (vap->iv_flags_ext & IEEE80211_FEXT_PUREN) == 0)
-		mode = IEEE80211_MODE_11G;
-	/*
 	 * Update the h/w rate map.
 	 * NB: 0x80 for MCS is passed through unchanged
 	 */
 	memset(&rates, 0, sizeof(rates));
 	/* rate used to send management frames */
-	rates.MgtRate = vap->iv_txparms[mode].mgmtrate;
+	rates.MgtRate = tp->mgmtrate;
 	/* rate used to send multicast frames */
-	rates.McastRate = vap->iv_txparms[mode].mcastrate;
+	rates.McastRate = tp->mcastrate;
 
 	/* while here calculate EAPOL fixed rate cookie */
 	mvp->mv_eapolformat = htole16(mwl_calcformat(rates.MgtRate, ni));
@@ -2663,8 +2652,6 @@
 		/* XXX stat+msg */
 		return NULL;
 	}
-	/* XXX setup initial mn_tp */
-
 	DPRINTF(sc, MWL_DEBUG_NODE, "%s: mn %p\n", __func__, mn);
 	return &mn->mn_node;
 }
@@ -3688,7 +3675,7 @@
 		break;
 	case IEEE80211_FC0_TYPE_DATA:
 		if (!ismcast) {
-			const struct ieee80211_txparam *tp = mn->mn_tp;
+			const struct ieee80211_txparam *tp = ni->ni_txparms;
 			/*
 			 * EAPOL frames get forced to a fixed rate and w/o
 			 * aggregation; otherwise check for any fixed rate
@@ -4737,22 +4724,6 @@
 		    __func__, error);
 		/* XXX how to deal with error? */
 	}
-	/*
-	 * Setup fixed rate state; it may change on re-associate (?).
-	 */
-	if (ni->ni_flags & IEEE80211_NODE_HT) {
-		if (IEEE80211_IS_CHAN_5GHZ(ni->ni_chan))
-			mn->mn_tp = &vap->iv_txparms[IEEE80211_MODE_11NA];
-		else
-			mn->mn_tp = &vap->iv_txparms[IEEE80211_MODE_11NG];
-	} else {			/* legacy rate handling */
-		if (IEEE80211_IS_CHAN_A(ni->ni_chan))
-			mn->mn_tp = &vap->iv_txparms[IEEE80211_MODE_11A];
-		else if (ni->ni_flags & IEEE80211_NODE_ERP)
-			mn->mn_tp = &vap->iv_txparms[IEEE80211_MODE_11G];
-		else
-			mn->mn_tp = &vap->iv_txparms[IEEE80211_MODE_11B];
-	}
 }
 
 /*

==== //depot/projects/vap/sys/dev/mwl/if_mwlvar.h#3 (text+ko) ====

@@ -218,7 +218,6 @@
 	uint16_t	mn_staid;	/* firmware station id */
 	struct mwl_bastate mn_ba[MWL_MAXBA];
 	struct mwl_hal_vap *mn_hvap;	/* hal vap handle */
-	const struct ieee80211_txparam *mn_tp;
 };
 #define	MWL_NODE(ni)		((struct mwl_node *)(ni))
 #define	MWL_NODE_CONST(ni)	((const struct mwl_node *)(ni))



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