On 2020-11-17 14:28, kathirve@xxxxxxxxxxxxxx wrote:
On 2020-10-28 16:56, Karthikeyan Kathirvel wrote:
Though the first channel from sband channel list is invalid
or disabled still mac80211 is choosing this disabled channel
as a default channel for monitor interface. This will end-up
in choosing wrong channel.
Fixed by assigning the first available valid or enabled channel
to the respective radios.
Signed-off-by: Karthikeyan Kathirvel <kathirve@xxxxxxxxxxxxxx>
---
v2:
rebased
net/mac80211/main.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index b4a2efe..a4aefd6 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -982,8 +982,15 @@ int ieee80211_register_hw(struct ieee80211_hw
*hw)
continue;
if (!dflt_chandef.chan) {
+ /*
+ * Assigning the first enabled channel to dflt_chandef from the
+ * list of channels available specific to country
+ */
+ for (i = 0; i < sband->n_channels; i++)
+ if (!(sband->channels[i].flags & IEEE80211_CHAN_DISABLED))
+ break;
cfg80211_chandef_create(&dflt_chandef,
- &sband->channels[0],
+ &sband->channels[i == sband->n_channels ? 0 : i],
NL80211_CHAN_NO_HT);
/* init channel we're on */
if (!local->use_chanctx && !local->_oper_chandef.chan) {
Please ignore this.
Corrected my identity