Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3913443pxf; Mon, 29 Mar 2021 15:23:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyNGw0+M3/QcM40O0ChvTO264/RTXgkDJMQCEx7G2YNQDctH2M5qjyFKOfuv9iUiB6vdWlz X-Received: by 2002:a17:906:5e01:: with SMTP id n1mr30718578eju.359.1617056602959; Mon, 29 Mar 2021 15:23:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617056602; cv=none; d=google.com; s=arc-20160816; b=Ow+BCQCe2jYIZdQf7JFmbQTSZqXRVpj0XsgfL+7o7HwYU9M5kGJD1y0ju6bBKaJTeb rZiSCzMb1zORSjsbFGi8J+lro/GnB+SdB5EyCxOdS2misk67kYiUfrpJoDSY3TbDV8h5 RbvUFb/ukVStD11c/LtX92KyvLbFWrfq/ZkjXKUfjKu6jMhW5zUlGkMtOVOV5tlHlG/6 prUGlftU5BlRRpDXQy84tP392TgoPfVhS3Oy3v6qmt9bFrUWO6cdLf4jQLo71uTTC3m7 6RbDmE2isX6RWovI3dr7199lKneapqMuRDceW7FiGUjDpBq2U2z8PSkpduPhBmXvrpeO WVgw== 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=M9Z1mNwBHs59GFrNwDA9JdU0zc5uT1SnstbVVF5AlL8=; b=OyB/7g77iPwVxFlCD7kCcyrDZC4RTeQ4Z8SY1Oo6p9WzpkrGmPbrml4TC68oRslXr3 sy08nOx5gfT9QIdustMdPJ3N8KQi6rs0bTZlYY7yjzl5SKmj5/54gsNJdS1fkaqvUX5J cftQYT2uvamZ0ttMUzaWUYNtJywanFWSnftL7bEr/lK1Y2SZLTwUxUE3fCY6yOl6kbyA PdIGeTNx4KQfLQufv6NGZJulSl6aEZVsvPq7hPF4OPXbItXydCGxSZRwo7Mxt1gY7GTd 7+SrUGSVs02xI1Roo6dw+vn7L2ZuD07qhstwX3At/3OZSPbTi32/Tbq3dNm+ckX3N40o TNZw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=EIjWJttf; 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 z22si17095933edm.203.2021.03.29.15.22.53; Mon, 29 Mar 2021 15:23:22 -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=EIjWJttf; 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 S232002AbhC2WWS (ORCPT + 99 others); Mon, 29 Mar 2021 18:22:18 -0400 Received: from mail.kernel.org ([198.145.29.99]:45902 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231933AbhC2WVw (ORCPT ); Mon, 29 Mar 2021 18:21:52 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id DE1B361989; Mon, 29 Mar 2021 22:21:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1617056512; bh=9dZ7igudTV9weAVtKaJoWZF1q0M8xiZt7lrw3zitF9Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EIjWJttfezpwJlQsOkTjo7mnWw7k7Xc8MT2WAzeARj6hp4jT1Ww4s2M1qc4wh1IFV UXUZ8U+abIvUsbbw6w1OLQUMFeEHqjM6dpl+ti/wPUbguzR3uZl+FJBlIB1vdRlHIZ 5K4Hg2RQCxpURGeVhvXKhlO8jSZDjWj7v23derlklQRW4Vb6Brimg8sRfjzz8t0do8 SUdb901zcx3VxzFNu3OnSjf2h0N1NsyUy8uZDOkdl1ZJlRHPr4+Ha8rtjaLX/jIBaI DLbRlUdzijEuTWArWfmuX1GP4gMHhk7EcdEvaKDJ/OhQoqUIoHxju/Yzjx2Gte8FoT GqVPmt96FNkAw== 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.11 15/38] mac80211: choose first enabled channel for monitor Date: Mon, 29 Mar 2021 18:21:10 -0400 Message-Id: <20210329222133.2382393-15-sashal@kernel.org> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210329222133.2382393-1-sashal@kernel.org> References: <20210329222133.2382393-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 dee88ec566ad..d1023188ef37 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c @@ -970,8 +970,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