Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/rtwn/rtl8192c/r92c_tx.c
Show First 20 Lines • Show All 329 Lines • ▼ Show 20 Lines | #endif | ||||
if (!hasqos) { | if (!hasqos) { | ||||
/* Use HW sequence numbering for non-QoS frames. */ | /* Use HW sequence numbering for non-QoS frames. */ | ||||
rtwn_r92c_tx_setup_hwseq(sc, txd); | rtwn_r92c_tx_setup_hwseq(sc, txd); | ||||
txd->txdw4 |= htole32(SM(R92C_TXDW4_SEQ_SEL, uvp->id)); | txd->txdw4 |= htole32(SM(R92C_TXDW4_SEQ_SEL, uvp->id)); | ||||
} else { | } else { | ||||
uint16_t seqno; | uint16_t seqno; | ||||
if (m->m_flags & M_AMPDU_MPDU) { | if (m->m_flags & M_AMPDU_MPDU) { | ||||
seqno = ni->ni_txseqs[tid]; | seqno = ni->ni_txseqs[tid] % IEEE80211_SEQ_RANGE; | ||||
ni->ni_txseqs[tid]++; | ni->ni_txseqs[tid]++; | ||||
} else | } else | ||||
seqno = M_SEQNO_GET(m) % IEEE80211_SEQ_RANGE; | seqno = M_SEQNO_GET(m) % IEEE80211_SEQ_RANGE; | ||||
/* Set sequence number. */ | /* Set sequence number. */ | ||||
txd->txdseq = htole16(seqno); | txd->txdseq = htole16(seqno); | ||||
} | } | ||||
} | } | ||||
▲ Show 20 Lines • Show All 93 Lines • Show Last 20 Lines |