PERFORCE change 133310 for review
Sam Leffler
sam at FreeBSD.org
Mon Jan 14 21:25:41 PST 2008
http://perforce.freebsd.org/chv.cgi?CH=133310
Change 133310 by sam at sam_ebb on 2008/01/15 05:24:57
revert use of iv_txseq for now; need to be more careful doing this
Affected files ...
.. //depot/projects/vap/sys/net80211/ieee80211_output.c#23 edit
Differences ...
==== //depot/projects/vap/sys/net80211/ieee80211_output.c#23 (text+ko) ====
@@ -392,13 +392,11 @@
const uint8_t bssid[IEEE80211_ADDR_LEN])
{
#define WH4(wh) ((struct ieee80211_frame_addr4 *)wh)
-#define PROBE_RESP \
- ((IEEE80211_FC0_TYPE_MGT << IEEE80211_FC0_TYPE_SHIFT) | \
- (IEEE80211_FC0_SUBTYPE_PROBE_RESP << IEEE80211_FC0_SUBTYPE_SHIFT))
- struct ieee80211vap *vap = ni->ni_vap;
wh->i_fc[0] = IEEE80211_FC0_VERSION_0 | type;
if ((type & IEEE80211_FC0_TYPE_MASK) == IEEE80211_FC0_TYPE_DATA) {
+ struct ieee80211vap *vap = ni->ni_vap;
+
switch (vap->iv_opmode) {
case IEEE80211_M_STA:
wh->i_fc[1] = IEEE80211_FC1_DIR_TODS;
@@ -436,19 +434,11 @@
IEEE80211_ADDR_COPY(wh->i_addr3, bssid);
}
*(uint16_t *)&wh->i_dur[0] = 0;
- if (type == PROBE_RESP) {
- /* NB: use per-vap seq# space */
- *(uint16_t *)&wh->i_seq[0] =
- htole16(vap->iv_txseq << IEEE80211_SEQ_SEQ_SHIFT);
- vap->iv_txseq++;
- } else {
- /* NB: use non-QoS tid */
- *(uint16_t *)&wh->i_seq[0] =
- htole16(ni->ni_txseqs[IEEE80211_NONQOS_TID] <<
- IEEE80211_SEQ_SEQ_SHIFT);
- ni->ni_txseqs[IEEE80211_NONQOS_TID]++;
- }
-#undef PROBE_RESP
+ /* XXX probe response use per-vap seq#? */
+ /* NB: use non-QoS tid */
+ *(uint16_t *)&wh->i_seq[0] =
+ htole16(ni->ni_txseqs[IEEE80211_NONQOS_TID] << IEEE80211_SEQ_SEQ_SHIFT);
+ ni->ni_txseqs[IEEE80211_NONQOS_TID]++;
#undef WH4
}
@@ -2423,9 +2413,6 @@
uint16_t capinfo;
IEEE80211_LOCK(ic);
- *(uint16_t *)&mtod(m, struct ieee80211_frame *)->i_seq[0] =
- htole16(vap->iv_txseq << IEEE80211_SEQ_SEQ_SHIFT);
- vap->iv_txseq++;
/*
* Handle 11h channel change when we've reached the count.
* We must recalculate the beacon frame contents to account
More information about the p4-projects
mailing list