From: "Toke Høiland-Jørgensen" <toke@kernel.org>
To: Hancheng Yang <hyang@freebox.fr>,
kvalo@codeaurora.org, Johannes Berg <johannes@sipsolutions.net>,
Jouni Malinen <j@w1.fi>
Cc: linux-wireless@vger.kernel.org, Hancheng Yang <hyang@freebox.fr>
Subject: Re: [PATCH] ath9k: reset survey of current channel after a scan started
Date: Thu, 17 Aug 2023 15:26:03 +0200 [thread overview]
Message-ID: <87wmxtby1g.fsf@toke.dk> (raw)
In-Reply-To: <20230817092900.361270-1-hyang@freebox.fr>
Hancheng Yang <hyang@freebox.fr> writes:
> In the `ath_set_channel()` function, we only reset surveys that are not from the current channel.
> This leads to the accumulation of survey data for the current channel indefinitely.
> Log of hostapd:
> [2023-08-17 11:21:51] ACS: Survey analysis for channel 1 (2412 MHz)
> [2023-08-17 11:21:51] ACS: 1: min_nf=-90 interference_factor=0.569833 nf=-89 time=36194 busy=20908 rx=16200
> [2023-08-17 11:21:51] ACS: 2: min_nf=-90 interference_factor=0.572018 nf=-89 time=36539 busy=21183 rx=16425
> [2023-08-17 11:21:51] ACS: 3: min_nf=-90 interference_factor=0.574311 nf=-90 time=36885 busy=21464 rx=16659
> [2023-08-17 11:21:51] ACS: 4: min_nf=-90 interference_factor=0.5773 nf=-89 time=37231 busy=21772 rx=16924
> [2023-08-17 11:21:51] ACS: 5: min_nf=-90 interference_factor=0.580108 nf=-89 time=37578 busy=22076 rx=17189
>
>
> This may not be the most optimal approach, as we want the ACS to rely on the most recent survey.
> So, reset the survey data for the current channel at the start of each scan.
>
> Or there's better approach?
Johannes, Jouni, any thoughts? :)
-Toke
>
> Signed-off-by: Hancheng Yang <hyang@freebox.fr>
> ---
> drivers/net/wireless/ath/ath9k/main.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
> index fa5a87f021e2..3e4a711c96bb 100644
> --- a/drivers/net/wireless/ath/ath9k/main.c
> +++ b/drivers/net/wireless/ath/ath9k/main.c
> @@ -2382,7 +2382,22 @@ static void ath9k_sw_scan_start(struct ieee80211_hw *hw,
> {
> struct ath_softc *sc = hw->priv;
> struct ath_common *common = ath9k_hw_common(sc->sc_ah);
> + struct cfg80211_chan_def *chandef = &sc->cur_chan->chandef;
> + struct ieee80211_channel *chan = chandef->chan;
> + int pos = chan->hw_value;
> set_bit(ATH_OP_SCANNING, &common->op_flags);
> +
> + /* Reset current survey */
> + if (!sc->cur_chan->offchannel) {
> + if (sc->cur_survey != &sc->survey[pos]) {
> + if (sc->cur_survey)
> + sc->cur_survey->filled &= ~SURVEY_INFO_IN_USE;
> + sc->cur_survey = &sc->survey[pos];
> + }
> +
> + memset(sc->cur_survey, 0, sizeof(struct survey_info));
> + sc->cur_survey->filled |= SURVEY_INFO_IN_USE;
> + }
> }
>
> static void ath9k_sw_scan_complete(struct ieee80211_hw *hw,
> --
> 2.34.1
next prev parent reply other threads:[~2023-08-17 13:27 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-17 9:29 [PATCH] ath9k: reset survey of current channel after a scan started Hancheng Yang
2023-08-17 13:26 ` Toke Høiland-Jørgensen [this message]
2023-09-01 10:43 ` Toke Høiland-Jørgensen
[not found] ` <CAO6a22UrmZ4b+7gBSYnsUU3qUScKwQmBGA_vB3gDfh2C+=1BWA@mail.gmail.com>
[not found] ` <87wmx1m2mf.fsf@toke.dk>
[not found] ` <CAO6a22XGGZrja47_M6vQBh0sOw3gMR83H8TcAE8FBJ=Zsd6+ow@mail.gmail.com>
2023-12-05 13:51 ` Toke Høiland-Jørgensen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87wmxtby1g.fsf@toke.dk \
--to=toke@kernel.org \
--cc=hyang@freebox.fr \
--cc=j@w1.fi \
--cc=johannes@sipsolutions.net \
--cc=kvalo@codeaurora.org \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).