rcs, &isProbe);
ath_hal_memcpy(bf->bf_rcs, rcs, sizeof(rcs));
} else {
+ struct ath_vap_target *avp;
+
+ avp = &sc->sc_vap[bf->vap_index];
+
mrcs[1].tries = mrcs[2].tries = mrcs[3].tries = 0;
mrcs[1].rix = mrcs[2].rix = mrcs[3].rix = 0;
- mrcs[0].rix = 0;
+ mrcs[0].rix = ath_get_minrateidx(sc, avp);
mrcs[0].tries = 1;
mrcs[0].flags = 0;
ath_hal_memcpy(bf->bf_rcs, mrcs, sizeof(mrcs));
hdrlen = ieee80211_anyhdrsize(wh);
pktlen = len;
keyix = HAL_TXKEYIX_INVALID;
- pktlen -= (hdrlen & 3);
pktlen += IEEE80211_CRC_LEN;
if (iswep)
atype = HAL_PKT_TYPE_NORMAL;
break;
+ case IEEE80211_FC0_TYPE_CTL:
+ flags |= HAL_TXDESC_NOACK;
default:
atype = HAL_PKT_TYPE_NORMAL;
break;