urtwn(4): fix sequence numbering for QoS frames
Tested: * urtwn0: MAC/BB RTL8188EU, RF 6052 1T1R, STA mode Submitted by: <s3erios@gmail.com> Differential Revision: https://reviews.freebsd.org/D3684
This commit is contained in:
parent
1517a7ba0b
commit
3eaa0cd531
@ -1775,7 +1775,7 @@ urtwn_tx_start(struct urtwn_softc *sc, struct ieee80211_node *ni,
|
||||
struct r92c_tx_desc *txd;
|
||||
uint8_t raid, type;
|
||||
uint16_t sum;
|
||||
int i, hasqos, xferlen;
|
||||
int i, xferlen;
|
||||
struct usb_xfer *urtwn_pipes[4] = {
|
||||
sc->sc_xfer[URTWN_BULK_TX_BE],
|
||||
sc->sc_xfer[URTWN_BULK_TX_BK],
|
||||
@ -1816,8 +1816,6 @@ urtwn_tx_start(struct urtwn_softc *sc, struct ieee80211_node *ni,
|
||||
break;
|
||||
}
|
||||
|
||||
hasqos = 0;
|
||||
|
||||
/* Fill Tx descriptor. */
|
||||
txd = (struct r92c_tx_desc *)data->buf;
|
||||
memset(txd, 0, sizeof(*txd));
|
||||
@ -1873,7 +1871,7 @@ urtwn_tx_start(struct urtwn_softc *sc, struct ieee80211_node *ni,
|
||||
/* Set sequence number (already little endian). */
|
||||
txd->txdseq |= *(uint16_t *)wh->i_seq;
|
||||
|
||||
if (!hasqos) {
|
||||
if (!IEEE80211_QOS_HAS_SEQ(wh)) {
|
||||
/* Use HW sequence numbering for non-QoS frames. */
|
||||
txd->txdw4 |= htole32(R92C_TXDW4_HWSEQ);
|
||||
txd->txdseq |= htole16(0x8000);
|
||||
|
Loading…
Reference in New Issue
Block a user