Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3914945pxf; Mon, 29 Mar 2021 15:26:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwOw1zs7+RCen+aaP8WifNqP4/NWvn7BuURzJCyB+r5QKERygmOVLjfiY6WEbIKR+tNABJp X-Received: by 2002:a05:6402:34d5:: with SMTP id w21mr30482802edc.14.1617056767444; Mon, 29 Mar 2021 15:26:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617056767; cv=none; d=google.com; s=arc-20160816; b=mF+6DXJ7Y9AWaWjnEHGSirqI+XOFtuFk4+hC4IpN4rM+XfxJ87+fkrje2hHve3pGx9 z9y+8Es/YSvWBYC/0m9ZeLyGKRSn2jTSY1Zi4xJFnogG2f4NnY42Blp84YVJvFWCOaQ2 P10Ap7fp0tZCDw56GNpWR5FKch+9ktS45Zh1RGi1+CYHA9YMYsinhOm1KlueEoVp3Izi 4woe7zEQk0ie5UrVdjqU0mb+k/PfBHIlx9aYxXGvU44oMNEL9iORBvH6IuqZp4bPnzzY m2iwMqBYHSWyInn0HHS+RnWCZStLb08xfk4j62Typ8gEiE9UoY+WNNDl+Bj4TSwYN3wn qs5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=EoLy9oIwoUNlGFNvB1m0rTbjIXNNHVd1ldSbIS+Z18o=; b=b/cdMfDMKjQAI+xRCkv7qHc+bSR8TlrjQVDaTAQfv4GMzZTnS+7yYvgV2Q9L6jp56z 7/tYJSTA1pbt0ZZBOehpj+MtVvArzy0ScaQPzXdXTx1y/FFOrecwwgChTmAt6JZ6D4pJ xdj8KbkhNZCCgAXB9sowx2Z1qKHf63M1RL6tyOXyaSvt1wVwz+JZCqkx6EzltDkW3uxV QsDX3b3HwBJ7SnnNdP6xABea+vz+h0h7r8rVgnFBQW2R6CEKtcBeg74ycoSOKLSo0IbZ tkdL34PulOhB3rdud7NRP9nAGCfmtz++a9+W74hjQpfhjJj5TPVtOugI2xI6Y+vs1mWM 2/iA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=YcI2NWFF; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j22si13993187edq.584.2021.03.29.15.25.44; Mon, 29 Mar 2021 15:26:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=YcI2NWFF; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232901AbhC2WZM (ORCPT + 99 others); Mon, 29 Mar 2021 18:25:12 -0400 Received: from mail.kernel.org ([198.145.29.99]:48398 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232501AbhC2WXY (ORCPT ); Mon, 29 Mar 2021 18:23:24 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 76A3E619B6; Mon, 29 Mar 2021 22:23:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1617056594; bh=0TsPTSANZqKpZW8o4F5/wrMizTfDv3i7R2iIANb4Yrs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YcI2NWFFRHyi8LLW+zBY8eX4xVqFgH8cG5h+X421d9cflq3jVqoF1AoznJ8d+PTiv CyKpM5cquuFUWjg9+MHZKv3rSeR7r+7uQBTwHUJO8P7C3JHShBlAxUELw70Kh3hjeH LyWOG8dmEpUVAEL+TkmYL3u5IGaKw52whzB188s0/4nyMR20V++D2IcTzrAWSX4Sct L2anl2gI44jm+MGO2/Dq3jC2qFT3b39ZC5DdhI6P383EZRCv5KrI9WQnNX2Sw086FI HPxwYimDLKOE9cXZbx3ZSGi4jSPq+Z5HXhBJh8ODjbsSWh8h+XCGIFErOqqGX4LOru hpgSQ70BvOcEQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Karthikeyan Kathirvel , Johannes Berg , Sasha Levin , linux-wireless@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH AUTOSEL 5.4 09/19] mac80211: choose first enabled channel for monitor Date: Mon, 29 Mar 2021 18:22:52 -0400 Message-Id: <20210329222303.2383319-9-sashal@kernel.org> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210329222303.2383319-1-sashal@kernel.org> References: <20210329222303.2383319-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Karthikeyan Kathirvel [ Upstream commit 041c881a0ba8a75f71118bd9766b78f04beed469 ] Even if the first channel from sband channel list is invalid or disabled mac80211 ends up choosing it as the default channel for monitor interfaces, making them not usable. Fix this by assigning the first available valid or enabled channel instead. Signed-off-by: Karthikeyan Kathirvel Link: https://lore.kernel.org/r/1615440547-7661-1-git-send-email-kathirve@codeaurora.org [reword commit message, comment, code cleanups] Signed-off-by: Johannes Berg Signed-off-by: Sasha Levin --- net/mac80211/main.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/net/mac80211/main.c b/net/mac80211/main.c index 3e8561c3b0e7..5b3189a37680 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c @@ -954,8 +954,19 @@ int ieee80211_register_hw(struct ieee80211_hw *hw) continue; if (!dflt_chandef.chan) { + /* + * Assign the first enabled channel to dflt_chandef + * from the list of channels + */ + for (i = 0; i < sband->n_channels; i++) + if (!(sband->channels[i].flags & + IEEE80211_CHAN_DISABLED)) + break; + /* if none found then use the first anyway */ + if (i == sband->n_channels) + i = 0; cfg80211_chandef_create(&dflt_chandef, - &sband->channels[0], + &sband->channels[i], NL80211_CHAN_NO_HT); /* init channel we're on */ if (!local->use_chanctx && !local->_oper_chandef.chan) { -- 2.30.1