[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <37f00d636e1ffb68e383e0784b30e7e5cf48b4dd.camel@sipsolutions.net>
Date: Fri, 16 May 2025 09:51:39 +0200
From: Johannes Berg <johannes@...solutions.net>
To: Raj Kumar Bhagat <quic_rajkbhag@...cinc.com>
Cc: linux-wireless@...r.kernel.org, linux-kernel@...r.kernel.org,
Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@....qualcomm.com>
Subject: Re: [PATCH wireless-next 1/3] wifi: cfg80211: Add utility API to
get radio index from channel
On Wed, 2025-05-14 at 16:58 +0530, Raj Kumar Bhagat wrote:
>
> +int cfg80211_get_radio_idx_by_chan(struct wiphy *wiphy,
> + const struct ieee80211_channel *chan)
> +{
> + const struct wiphy_radio *radio;
> + int i, j;
> + u32 freq;
> +
> + if (!chan)
> + return -EINVAL;
> +
> + freq = ieee80211_channel_to_khz(chan);
> + for (i = 0; i < wiphy->n_radio; i++) {
> + radio = &wiphy->radio[i];
> + for (j = 0; j < radio->n_freq_range; j++) {
> + if (freq >= radio->freq_range[j].start_freq &&
> + freq <= radio->freq_range[j].end_freq)
> + return i;
>
I believe we also discussed this in the past elsewhere, but I don't
think the the >= and <= can simultaneously be wrong. If the frequency
ranges for radios are adjacent, then the intervals here need to be half
open. I _think_ it should be < instead of <=, and therefore a half-open
interval of "[start, end[" (or "[start, end)" depending on your
preferred notation.)
johannes
Powered by blists - more mailing lists