Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F113877679
D48602.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
16 KB
Referenced Files
None
Subscribers
None
D48602.diff
View Options
diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c
--- a/sys/compat/linuxkpi/common/src/linux_80211.c
+++ b/sys/compat/linuxkpi/common/src/linux_80211.c
@@ -5949,7 +5949,8 @@
#ifdef LINUXKPI_DEBUG_80211
int old_rate;
- old_rate = ni->ni_vap->iv_bss->ni_txrate;
+ old_rate =
+ ieee80211_node_get_txrate_dot11rate(ni->ni_vap->iv_bss);
#endif
txs.pktlen = skb->len;
txs.flags |= IEEE80211_RATECTL_STATUS_PKTLEN;
@@ -5975,7 +5976,8 @@
if (linuxkpi_debug_80211 & D80211_TRACE_TX) {
printf("TX-RATE: %s: old %d new %d ridx %d, "
"long_retries %d\n", __func__,
- old_rate, ni->ni_vap->iv_bss->ni_txrate,
+ old_rate,
+ ieee80211_node_get_txrate_dot11rate(ni->ni_vap->iv_bss),
ridx, txs.long_retries);
}
#endif
diff --git a/sys/dev/ath/ath_rate/amrr/amrr.c b/sys/dev/ath/ath_rate/amrr/amrr.c
--- a/sys/dev/ath/ath_rate/amrr/amrr.c
+++ b/sys/dev/ath/ath_rate/amrr/amrr.c
@@ -245,8 +245,11 @@
* lowest hardware rate.
*/
if (ni->ni_rates.rs_nrates > 0) {
- ni->ni_txrate = ni->ni_rates.rs_rates[rate] & IEEE80211_RATE_VAL;
- amn->amn_tx_rix0 = sc->sc_rixmap[ni->ni_txrate];
+ uint8_t dot11rate;
+
+ dot11rate = ni->ni_rates.rs_rates[rate] & IEEE80211_RATE_VAL;
+ amn->amn_tx_rix0 = sc->sc_rixmap[dot11rate];
+ ieee80211_node_set_txrate_dot11rate(ni, dot11rate);
amn->amn_tx_rate0 = rt->info[amn->amn_tx_rix0].rateCode;
amn->amn_tx_rate0sp = amn->amn_tx_rate0 |
rt->info[amn->amn_tx_rix0].shortPreamble;
diff --git a/sys/dev/ath/ath_rate/onoe/onoe.c b/sys/dev/ath/ath_rate/onoe/onoe.c
--- a/sys/dev/ath/ath_rate/onoe/onoe.c
+++ b/sys/dev/ath/ath_rate/onoe/onoe.c
@@ -203,6 +203,7 @@
struct ieee80211vap *vap = ni->ni_vap;
const HAL_RATE_TABLE *rt = sc->sc_currates;
u_int8_t rix;
+ uint8_t dot11rate;
KASSERT(rt != NULL, ("no rate table, mode %u", sc->sc_curmode));
@@ -221,8 +222,9 @@
if (ni->ni_rates.rs_nrates == 0)
goto done;
on->on_rix = rate;
- ni->ni_txrate = ni->ni_rates.rs_rates[rate] & IEEE80211_RATE_VAL;
- on->on_tx_rix0 = sc->sc_rixmap[ni->ni_txrate];
+ dot11rate = ni->ni_rates.rs_rates[rate] & IEEE80211_RATE_VAL;
+ ieee80211_node_set_txrate_dot11rate(ni, dot11rate);
+ on->on_tx_rix0 = sc->sc_rixmap[dot11rate];
on->on_tx_rate0 = rt->info[on->on_tx_rix0].rateCode;
on->on_tx_rate0sp = on->on_tx_rate0 |
@@ -389,7 +391,7 @@
if (nrate != on->on_rix) {
IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni,
"%s: %dM -> %dM (%d ok, %d err, %d retr)", __func__,
- ni->ni_txrate / 2,
+ ieee80211_node_get_txrate_kbit(ni) / 1000,
(rs->rs_rates[nrate] & IEEE80211_RATE_VAL) / 2,
on->on_tx_ok, on->on_tx_err, on->on_tx_retr);
ath_rate_update(sc, ni, nrate);
diff --git a/sys/dev/ath/ath_rate/sample/sample.c b/sys/dev/ath/ath_rate/sample/sample.c
--- a/sys/dev/ath/ath_rate/sample/sample.c
+++ b/sys/dev/ath/ath_rate/sample/sample.c
@@ -855,9 +855,13 @@
/*
* Set the visible txrate for this node.
*/
- an->an_node.ni_txrate =
- (rt->info[best_rix].phy == IEEE80211_T_HT) ?
- MCS(best_rix) : DOT11RATE(best_rix);
+ if (rt->info[best_rix].phy == IEEE80211_T_HT)
+ ieee80211_node_set_txrate_ht_mcsrate(
+ &an->an_node, MCS(best_rix));
+ else
+ ieee80211_node_set_txrate_dot11rate(
+ &an->an_node,
+ DOT11RATE(best_rix));
}
rix = sn->current_rix[size_bin];
sn->packets_since_switch[size_bin]++;
@@ -1409,9 +1413,10 @@
#endif
/* set the visible bit-rate */
if (sn->static_rix != -1)
- ni->ni_txrate = DOT11RATE(sn->static_rix);
+ ieee80211_node_set_txrate_dot11rate(ni,
+ DOT11RATE(sn->static_rix));
else
- ni->ni_txrate = RATE(0);
+ ieee80211_node_set_txrate_dot11rate(ni, RATE(0));
#undef RATE
#undef DOT11RATE
}
diff --git a/sys/dev/bwi/if_bwi.c b/sys/dev/bwi/if_bwi.c
--- a/sys/dev/bwi/if_bwi.c
+++ b/sys/dev/bwi/if_bwi.c
@@ -2944,7 +2944,7 @@
rate = rate_fb = tp->ucastrate;
} else {
rix = ieee80211_ratectl_rate(ni, NULL, pkt_len);
- rate = ni->ni_txrate;
+ rate = ieee80211_node_get_txrate_dot11rate(ni);
if (rix > 0) {
rate_fb = ni->ni_rates.rs_rates[rix-1] &
diff --git a/sys/dev/bwn/if_bwn.c b/sys/dev/bwn/if_bwn.c
--- a/sys/dev/bwn/if_bwn.c
+++ b/sys/dev/bwn/if_bwn.c
@@ -6421,7 +6421,7 @@
rate = rate_fb = tp->ucastrate;
else {
rix = ieee80211_ratectl_rate(ni, NULL, 0);
- rate = ni->ni_txrate;
+ rate = ieee80211_node_get_txrate_dot11rate(ni);
if (rix > 0)
rate_fb = ni->ni_rates.rs_rates[rix - 1] &
diff --git a/sys/dev/ipw/if_ipw.c b/sys/dev/ipw/if_ipw.c
--- a/sys/dev/ipw/if_ipw.c
+++ b/sys/dev/ipw/if_ipw.c
@@ -838,8 +838,8 @@
struct ipw_softc *sc = ic->ic_softc;
/* read current transmission rate from adapter */
- vap->iv_bss->ni_txrate = ipw_cvtrate(
- ipw_read_table1(sc, IPW_INFO_CURRENT_TX_RATE) & 0xf);
+ ieee80211_node_set_txrate_dot11rate(vap->iv_bss,
+ ipw_cvtrate(ipw_read_table1(sc, IPW_INFO_CURRENT_TX_RATE) & 0xf));
ieee80211_media_status(ifp, imr);
}
diff --git a/sys/dev/iwi/if_iwi.c b/sys/dev/iwi/if_iwi.c
--- a/sys/dev/iwi/if_iwi.c
+++ b/sys/dev/iwi/if_iwi.c
@@ -927,8 +927,8 @@
/* read current transmission rate from adapter */
ni = ieee80211_ref_node(vap->iv_bss);
- ni->ni_txrate =
- iwi_cvtrate(CSR_READ_4(sc, IWI_CSR_CURRENT_TX_RATE));
+ ieee80211_node_set_txrate_dot11rate(ni,
+ iwi_cvtrate(CSR_READ_4(sc, IWI_CSR_CURRENT_TX_RATE)));
ieee80211_free_node(ni);
ieee80211_media_status(ifp, imr);
}
diff --git a/sys/dev/iwm/if_iwm.c b/sys/dev/iwm/if_iwm.c
--- a/sys/dev/iwm/if_iwm.c
+++ b/sys/dev/iwm/if_iwm.c
@@ -3445,7 +3445,7 @@
struct ieee80211_node *ni = &in->in_ni;
struct ieee80211vap *vap = ni->ni_vap;
int status = le16toh(tx_resp->status.status) & IWM_TX_STATUS_MSK;
- int new_rate, cur_rate = vap->iv_bss->ni_txrate;
+ int new_rate, cur_rate;
boolean_t rate_matched;
uint8_t tx_resp_rate;
@@ -3463,6 +3463,7 @@
le32toh(tx_resp->initial_rate),
(int) le16toh(tx_resp->wireless_media_time));
+ cur_rate = ieee80211_node_get_txrate_dot11rate(vap->iv_bss);
tx_resp_rate = iwm_rate_from_ucode_rate(le32toh(tx_resp->initial_rate));
/* For rate control, ignore frames sent at different initial rate */
@@ -3502,7 +3503,7 @@
ieee80211_ratectl_tx_complete(ni, txs);
int rix = ieee80211_ratectl_rate(vap->iv_bss, NULL, 0);
- new_rate = vap->iv_bss->ni_txrate;
+ new_rate = ieee80211_node_get_txrate_dot11rate(vap->iv_bss);
if (new_rate != 0 && new_rate != cur_rate) {
struct iwm_node *in = IWM_NODE(vap->iv_bss);
iwm_setrates(sc, in, rix);
@@ -3695,7 +3696,8 @@
} else {
/* for data frames, use RS table */
IWM_DPRINTF(sc, IWM_DEBUG_TXRATE, "%s: DATA\n", __func__);
- ridx = iwm_rate2ridx(sc, ni->ni_txrate);
+ ridx = iwm_rate2ridx(sc,
+ ieee80211_node_get_txrate_dot11rate(ni));
if (ridx == -1)
ridx = 0;
diff --git a/sys/dev/iwn/if_iwn.c b/sys/dev/iwn/if_iwn.c
--- a/sys/dev/iwn/if_iwn.c
+++ b/sys/dev/iwn/if_iwn.c
@@ -4570,7 +4570,7 @@
else {
/* XXX pass pktlen */
(void) ieee80211_ratectl_rate(ni, NULL, 0);
- rate = ni->ni_txrate;
+ rate = ieee80211_node_get_txrate_dot11rate(ni);
}
/*
diff --git a/sys/dev/malo/if_malo.c b/sys/dev/malo/if_malo.c
--- a/sys/dev/malo/if_malo.c
+++ b/sys/dev/malo/if_malo.c
@@ -898,7 +898,7 @@
static const int ieeerates[] =
{ 2, 4, 11, 22, 44, 12, 18, 24, 36, 48, 96, 108 };
if (rix < nitems(ieeerates))
- ni->ni_txrate = ieeerates[rix];
+ ieee80211_node_set_txrate_dot11rate(ni, ieeerates[rix]);
}
static int
diff --git a/sys/dev/mwl/if_mwl.c b/sys/dev/mwl/if_mwl.c
--- a/sys/dev/mwl/if_mwl.c
+++ b/sys/dev/mwl/if_mwl.c
@@ -3344,6 +3344,7 @@
ni = bf->bf_node;
if (ni != NULL) {
status = le32toh(ds->Status);
+ int rate;
if (status & EAGLE_TXD_STATUS_OK) {
uint16_t Format = le16toh(ds->Format);
uint8_t txant = _IEEE80211_MASKSHIFT(Format,
@@ -3356,14 +3357,14 @@
sc->sc_stats.mst_tx_mretries++;
if (txq->qnum >= MWL_WME_AC_VO)
ic->ic_wme.wme_hipri_traffic++;
- ni->ni_txrate = _IEEE80211_MASKSHIFT(Format,
+ rate = _IEEE80211_MASKSHIFT(Format,
EAGLE_TXD_RATE);
if ((Format & EAGLE_TXD_FORMAT_HT) == 0) {
- ni->ni_txrate = mwl_cvtlegacyrix(
- ni->ni_txrate);
+ rate = mwl_cvtlegacyrix(rate);
} else
- ni->ni_txrate |= IEEE80211_RATE_MCS;
- sc->sc_stats.mst_tx_rate = ni->ni_txrate;
+ rate |= IEEE80211_RATE_MCS;
+ sc->sc_stats.mst_tx_rate = rate;
+ ieee80211_node_set_txrate_dot11rate(ni, rate);
} else {
if (status & EAGLE_TXD_STATUS_FAILED_LINK_ERROR)
sc->sc_stats.mst_tx_linkerror++;
diff --git a/sys/dev/otus/if_otus.c b/sys/dev/otus/if_otus.c
--- a/sys/dev/otus/if_otus.c
+++ b/sys/dev/otus/if_otus.c
@@ -2281,7 +2281,8 @@
rate = otus_rate_to_hw_rate(sc, tp->ucastrate);
else {
(void) ieee80211_ratectl_rate(ni, NULL, 0);
- rate = otus_rate_to_hw_rate(sc, ni->ni_txrate);
+ rate = otus_rate_to_hw_rate(sc,
+ ieee80211_node_get_txrate_dot11rate(ni));
}
phyctl = 0;
@@ -2346,9 +2347,11 @@
data->m = m;
OTUS_DPRINTF(sc, OTUS_DEBUG_XMIT,
- "%s: tx: m=%p; data=%p; len=%d mac=0x%04x phy=0x%08x rate=0x%02x, ni_txrate=%d\n",
+ "%s: tx: m=%p; data=%p; len=%d mac=0x%04x phy=0x%08x "
+ "rate=0x%02x, dot11rate=%d\n",
__func__, m, data, le16toh(head->len), macctl, phyctl,
- (int) rate, (int) ni->ni_txrate);
+ (int) rate,
+ (int) ieee80211_node_get_txrate_dot11rate(ni));
/* Submit transfer */
STAILQ_INSERT_TAIL(&sc->sc_tx_pending[OTUS_BULK_TX], data, next);
diff --git a/sys/dev/ral/rt2560.c b/sys/dev/ral/rt2560.c
--- a/sys/dev/ral/rt2560.c
+++ b/sys/dev/ral/rt2560.c
@@ -1740,7 +1740,7 @@
rate = tp->ucastrate;
} else {
(void) ieee80211_ratectl_rate(ni, NULL, 0);
- rate = ni->ni_txrate;
+ rate = ieee80211_node_get_txrate_dot11rate(ni);
}
if (wh->i_fc[1] & IEEE80211_FC1_PROTECTED) {
@@ -1821,7 +1821,7 @@
/* remember link conditions for rate adaptation algorithm */
if (tp->ucastrate == IEEE80211_FIXED_RATE_NONE) {
- data->rix = ni->ni_txrate;
+ data->rix = ieee80211_node_get_txrate_dot11rate(ni);
/* XXX probably need last rssi value and not avg */
data->rssi = ic->ic_node_getrssi(ni);
} else
diff --git a/sys/dev/ral/rt2661.c b/sys/dev/ral/rt2661.c
--- a/sys/dev/ral/rt2661.c
+++ b/sys/dev/ral/rt2661.c
@@ -1431,7 +1431,7 @@
rate = tp->ucastrate;
} else {
(void) ieee80211_ratectl_rate(ni, NULL, 0);
- rate = ni->ni_txrate;
+ rate = ieee80211_node_get_txrate_dot11rate(ni);
}
rate &= IEEE80211_RATE_VAL;
@@ -1515,7 +1515,7 @@
/* remember link conditions for rate adaptation algorithm */
if (tp->ucastrate == IEEE80211_FIXED_RATE_NONE) {
- data->rix = ni->ni_txrate;
+ data->rix = ieee80211_node_get_txrate_dot11rate(ni);
/* XXX probably need last rssi value and not avg */
data->rssi = ic->ic_node_getrssi(ni);
} else
diff --git a/sys/dev/ral/rt2860.c b/sys/dev/ral/rt2860.c
--- a/sys/dev/ral/rt2860.c
+++ b/sys/dev/ral/rt2860.c
@@ -1493,7 +1493,7 @@
rate = tp->ucastrate;
} else {
(void) ieee80211_ratectl_rate(ni, NULL, 0);
- rate = ni->ni_txrate;
+ rate = ieee80211_node_get_txrate_dot11rate(ni);
}
rate &= IEEE80211_RATE_VAL;
diff --git a/sys/dev/rtwn/if_rtwn_tx.c b/sys/dev/rtwn/if_rtwn_tx.c
--- a/sys/dev/rtwn/if_rtwn_tx.c
+++ b/sys/dev/rtwn/if_rtwn_tx.c
@@ -143,7 +143,7 @@
if (sc->sc_ratectl == RTWN_RATECTL_NET80211) {
/* XXX pass pktlen */
(void) ieee80211_ratectl_rate(ni, NULL, 0);
- rate = ni->ni_txrate;
+ rate = ieee80211_node_get_txrate_dot11rate(ni);
} else {
if (ni->ni_flags & IEEE80211_NODE_HT)
rate = IEEE80211_RATE_MCS | 0x4; /* MCS4 */
diff --git a/sys/dev/usb/wlan/if_mtw.c b/sys/dev/usb/wlan/if_mtw.c
--- a/sys/dev/usb/wlan/if_mtw.c
+++ b/sys/dev/usb/wlan/if_mtw.c
@@ -2155,7 +2155,7 @@
uint32_t sta[3];
uint16_t(*wstat)[3];
int error, ridx;
-
+ uint8_t txrate = 0;
/* Check for special case */
if (sc->rvp_cnt <= 1 && vap->iv_opmode == IEEE80211_M_STA &&
@@ -2208,11 +2208,13 @@
ieee80211_ratectl_tx_update(vap, txs);
ieee80211_ratectl_rate(ni, NULL, 0);
+ txrate = ieee80211_node_get_txrate_dot11rate(ni);
+
/* XXX TODO: methodize with MCS rates */
for (ridx = 0; ridx < MTW_RIDX_MAX; ridx++) {
MTW_DPRINTF(sc, MTW_DEBUG_RATE, "ni_txrate=0x%x\n",
- ni->ni_txrate);
- if (rt2860_rates[ridx].rate == ni->ni_txrate) {
+ txrate);
+ if (rt2860_rates[ridx].rate == txrate) {
break;
}
}
@@ -2221,7 +2223,7 @@
MTW_UNLOCK(sc);
MTW_DPRINTF(sc, MTW_DEBUG_RATE, "rate=%d, ridx=%d\n",
- ni->ni_txrate, rn->amrr_ridx);
+ txrate, rn->amrr_ridx);
}
static void
diff --git a/sys/dev/usb/wlan/if_rsu.c b/sys/dev/usb/wlan/if_rsu.c
--- a/sys/dev/usb/wlan/if_rsu.c
+++ b/sys/dev/usb/wlan/if_rsu.c
@@ -1500,7 +1500,8 @@
ni = ieee80211_ref_node(vap->iv_bss);
rs = &ni->ni_rates;
/* Indicate highest supported rate. */
- ni->ni_txrate = rs->rs_rates[rs->rs_nrates - 1];
+ ieee80211_node_set_txrate_dot11rate(ni,
+ rs->rs_rates[rs->rs_nrates - 1]);
(void) rsu_set_fw_power_state(sc, RSU_PWR_SLEEP);
ieee80211_free_node(ni);
startcal = 1;
diff --git a/sys/dev/usb/wlan/if_rum.c b/sys/dev/usb/wlan/if_rum.c
--- a/sys/dev/usb/wlan/if_rum.c
+++ b/sys/dev/usb/wlan/if_rum.c
@@ -1646,7 +1646,7 @@
rate = tp->ucastrate;
else {
(void) ieee80211_ratectl_rate(ni, NULL, 0);
- rate = ni->ni_txrate;
+ rate = ieee80211_node_get_txrate_dot11rate(ni);
}
if (wh->i_fc[1] & IEEE80211_FC1_PROTECTED) {
diff --git a/sys/dev/usb/wlan/if_run.c b/sys/dev/usb/wlan/if_run.c
--- a/sys/dev/usb/wlan/if_run.c
+++ b/sys/dev/usb/wlan/if_run.c
@@ -2685,6 +2685,7 @@
union run_stats sta[2];
uint16_t (*wstat)[3];
int error, ridx;
+ uint8_t dot11rate;
RUN_LOCK(sc);
@@ -2737,15 +2738,17 @@
ieee80211_ratectl_tx_update(vap, txs);
ieee80211_ratectl_rate(ni, NULL, 0);
/* XXX TODO: methodize with MCS rates */
+ dot11rate = ieee80211_node_get_txrate_dot11rate(ni);
for (ridx = 0; ridx < RT2860_RIDX_MAX; ridx++)
- if (rt2860_rates[ridx].rate == ni->ni_txrate)
+ if (rt2860_rates[ridx].rate == dot11rate)
break;
rn->amrr_ridx = ridx;
fail:
RUN_UNLOCK(sc);
- RUN_DPRINTF(sc, RUN_DEBUG_RATE, "rate=%d, ridx=%d\n", ni->ni_txrate, rn->amrr_ridx);
+ RUN_DPRINTF(sc, RUN_DEBUG_RATE, "rate=0x%02x, ridx=%d\n",
+ ieee80211_node_get_txrate_dot11rate(ni), rn->amrr_ridx);
}
static void
diff --git a/sys/dev/usb/wlan/if_uath.c b/sys/dev/usb/wlan/if_uath.c
--- a/sys/dev/usb/wlan/if_uath.c
+++ b/sys/dev/usb/wlan/if_uath.c
@@ -2058,7 +2058,8 @@
* Tx rate is controlled by firmware, report the maximum
* negotiated rate in ifconfig output.
*/
- ni->ni_txrate = ni->ni_rates.rs_rates[ni->ni_rates.rs_nrates-1];
+ ieee80211_node_set_txrate_dot11rate(ni,
+ ni->ni_rates.rs_rates[ni->ni_rates.rs_nrates-1]);
if (uath_write_associd(sc) != 0) {
device_printf(sc->sc_dev,
diff --git a/sys/dev/usb/wlan/if_ural.c b/sys/dev/usb/wlan/if_ural.c
--- a/sys/dev/usb/wlan/if_ural.c
+++ b/sys/dev/usb/wlan/if_ural.c
@@ -1227,7 +1227,7 @@
rate = tp->ucastrate;
else {
(void) ieee80211_ratectl_rate(ni, NULL, 0);
- rate = ni->ni_txrate;
+ rate = ieee80211_node_get_txrate_dot11rate(ni);
}
if (wh->i_fc[1] & IEEE80211_FC1_PROTECTED) {
diff --git a/sys/dev/usb/wlan/if_zyd.c b/sys/dev/usb/wlan/if_zyd.c
--- a/sys/dev/usb/wlan/if_zyd.c
+++ b/sys/dev/usb/wlan/if_zyd.c
@@ -2460,7 +2460,7 @@
rate = tp->ucastrate;
else {
(void) ieee80211_ratectl_rate(ni, NULL, 0);
- rate = ni->ni_txrate;
+ rate = ieee80211_node_get_txrate_dot11rate(ni);
}
}
diff --git a/sys/dev/wpi/if_wpi.c b/sys/dev/wpi/if_wpi.c
--- a/sys/dev/wpi/if_wpi.c
+++ b/sys/dev/wpi/if_wpi.c
@@ -2821,7 +2821,7 @@
else {
/* XXX pass pktlen */
(void) ieee80211_ratectl_rate(ni, NULL, 0);
- rate = ni->ni_txrate;
+ rate = ieee80211_node_get_txrate_dot11rate(ni);
}
/* Encrypt the frame if need be. */
diff --git a/sys/dev/wtap/if_wtap.c b/sys/dev/wtap/if_wtap.c
--- a/sys/dev/wtap/if_wtap.c
+++ b/sys/dev/wtap/if_wtap.c
@@ -401,7 +401,7 @@
/* TODO this is a hack to force it to choose the rate we want */
ni = ieee80211_ref_node(vap->iv_bss);
- ni->ni_txrate = 130;
+ ieee80211_node_set_txrate_ht_mcsrate(ni, 2);
ieee80211_free_node(ni);
return vap;
}
@@ -617,8 +617,7 @@
M_NOWAIT|M_ZERO);
if (ni == NULL)
return (NULL);
-
- ni->ni_txrate = 130;
+ ieee80211_node_set_txrate_ht_mcsrate(ni, 2);
return ni;
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Apr 5, 11:48 PM (18 h, 53 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
17398563
Default Alt Text
D48602.diff (16 KB)
Attached To
Mode
D48602: sys: convert ni->ni_txrate references use to the new net80211 API
Attached
Detach File
Event Timeline
Log In to Comment