Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3913926pxf; Mon, 29 Mar 2021 15:24:14 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy63CVmIgeeNJ4l4YoMHOfRlO9D7IxX3IvRjUyDSCUAy8BDGxuh6FI+VDaB6hrgNh0ft8ro X-Received: by 2002:a05:6402:26c9:: with SMTP id x9mr30061442edd.322.1617056654415; Mon, 29 Mar 2021 15:24:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617056654; cv=none; d=google.com; s=arc-20160816; b=eDhEAxLC2B5ohALUUEYKg0H2eHqUWxMpVhCQlgKqYp/LFYeFN3QpjcZfAEDYv+WUKA PH3PKqX3nzGM+s+dYn+vK/xKDnCfA6jKtXXHymn5Kty1NoPc3LLP2AZya0/fWDvmsvnp w0fxG/3HG/I9YZKeueTjxBCE4jVx1XZdk9UT80hO1s7gJQTcUDh3b3+p8oP79gE9YYjx PvMV9gxuJKUAZu6f7B2/QWKvf3YAZSnMKyZ0ej2hBAg0iPLvQyYbFXm/hrIPF6yFPPK2 Sq+CMHZIbkE6vrLYX6/c/Xud+O7ducj6cyQLBFUx5BKsX0DhSxyj5VV3GmNTjZVWe6Ze jk0Q== 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=WaGxa5cbYSEvxCKpsDN1Dc4daNbx6FN0M8WAbVjdhgU=; b=l2rKoz8sSyoRhnL0PVgZ9VMdoN98J1YuZ/eoXQ1lntIiCvQAdg8ity+jId7MeCG8ze qF3yU+9uDKfn5tnq4nJOlC3VAAShjhXESYfvQgAiRbtQtKoR2SnNMAseOCyZnOfJjETv 43gcJ0ta3OVv3a2ZrBOJJo6/mAcKQRv5zM36leNfSfpdfolJ79HjBpWB0bMYk5zGcSLf 5xBHH+bF8bOwp/v5j4rqMdREliKo1A7cQxMEI3DvE7GJiDsBk5Y+/XnNCFWI0HM0Ea/J OxOS857MAOtX/cavrPFmqyimw7E/vjzgtdsAR9AROJZQ7XaoyhAMqewiVqVO4L6Hb1ue lyCA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=CxUqeJCg; 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 a1si13626794ejg.521.2021.03.29.15.23.51; Mon, 29 Mar 2021 15:24:14 -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=CxUqeJCg; 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 S232465AbhC2WXR (ORCPT + 99 others); Mon, 29 Mar 2021 18:23:17 -0400 Received: from mail.kernel.org ([198.145.29.99]:46676 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232158AbhC2WWh (ORCPT ); Mon, 29 Mar 2021 18:22:37 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 5770D6198F; Mon, 29 Mar 2021 22:22:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1617056557; bh=SKSwLQ4VAOHnJ4p4zcYvJN1cswzMV0RnROAqrsEkDzU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CxUqeJCg4sLj+5RjFlPODtjYQjgV6sysit+q7q2bAMptFjc5VDwNIUeLb7muGPfmG Nto54HMnUEmnOyonveCIl4VtPn/OvyXh4NxScwtgKTPjIzwb3p9f6BGAOXyZ9gLnE1 6G4jVlrXoRBQsdyQOqBvOng+zauOBjyCCoc/MQwuI9EdprgAZJKGukiswSIzcH1B3Z jzN8aUTP0UUsav0i8zahpJ1dYwJ4cq4PedZqy6p1Pou4x/ZxDeN9GFaysPlZyHWcp8 vvEvN6QZml1YIbl7JIoFwQvIIRhHhgmzQquV2GcQaHdNMsHRxLfMzFthhc+QQYs8zd xsf1ZPEKTSOkg== 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.10 12/33] mac80211: choose first enabled channel for monitor Date: Mon, 29 Mar 2021 18:22:00 -0400 Message-Id: <20210329222222.2382987-12-sashal@kernel.org> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210329222222.2382987-1-sashal@kernel.org> References: <20210329222222.2382987-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 523380aed92e..19c093bb3876 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c @@ -982,8 +982,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