56 lines
1.7 KiB
Diff
56 lines
1.7 KiB
Diff
--- a/ath/if_ath.c
|
|
+++ b/ath/if_ath.c
|
|
@@ -1695,8 +1695,6 @@
|
|
* get to reality. This value is used in monitor mode and by tools like
|
|
* Wireshark and Kismet.
|
|
*/
|
|
- ic->ic_channoise = ath_hal_get_channel_noise(ah, &(sc->sc_curchan));
|
|
-
|
|
ATH_RXBUF_LOCK_IRQ(sc);
|
|
if (sc->sc_rxbufcur == NULL)
|
|
sc->sc_rxbufcur = STAILQ_FIRST(&sc->sc_rxbuf);
|
|
@@ -8966,6 +8964,7 @@
|
|
sc->sc_curchan.channel);
|
|
sc->sc_stats.ast_per_calfail++;
|
|
}
|
|
+ ic->ic_channoise = ath_hal_get_channel_noise(ah, &(sc->sc_curchan));
|
|
|
|
ath_hal_process_noisefloor(ah);
|
|
if (isIQdone == AH_TRUE) {
|
|
@@ -9034,6 +9033,7 @@
|
|
struct ath_softc *sc = dev->priv;
|
|
|
|
(void) ath_chan_set(sc, ic->ic_curchan);
|
|
+ ic->ic_channoise = ath_hal_get_channel_noise(sc->sc_ah, &(sc->sc_curchan));
|
|
/*
|
|
* If we are returning to our bss channel then mark state
|
|
* so the next recv'd beacon's TSF will be used to sync the
|
|
@@ -9302,6 +9302,7 @@
|
|
}
|
|
|
|
ath_hal_process_noisefloor(ah);
|
|
+ ic->ic_channoise = ath_hal_get_channel_noise(ah, &(sc->sc_curchan));
|
|
/*
|
|
* Reset rssi stats; maybe not the best place...
|
|
*/
|
|
--- a/net80211/ieee80211_wireless.c
|
|
+++ b/net80211/ieee80211_wireless.c
|
|
@@ -4358,6 +4358,7 @@
|
|
si->isi_state = ni->ni_flags;
|
|
si->isi_authmode = ni->ni_authmode;
|
|
si->isi_rssi = ic->ic_node_getrssi(ni);
|
|
+ si->isi_noise = ic->ic_channoise;
|
|
si->isi_capinfo = ni->ni_capinfo;
|
|
si->isi_athflags = ni->ni_ath_flags;
|
|
si->isi_erp = ni->ni_erp;
|
|
--- a/net80211/ieee80211_ioctl.h
|
|
+++ b/net80211/ieee80211_ioctl.h
|
|
@@ -311,6 +311,7 @@
|
|
u_int16_t isi_state; /* state flags */
|
|
u_int8_t isi_authmode; /* authentication algorithm */
|
|
u_int8_t isi_rssi;
|
|
+ int8_t isi_noise;
|
|
u_int16_t isi_capinfo; /* capabilities */
|
|
u_int8_t isi_athflags; /* Atheros capabilities */
|
|
u_int8_t isi_erp; /* ERP element */
|