Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3916902pxf; Mon, 29 Mar 2021 15:29:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwiJZe+l/DqxjwZ2N4VEfGpo0ToF1ysQVp5t/le0p62i/KvWQXMufY1QK+F2rhg6mVxEelz X-Received: by 2002:a05:6402:5255:: with SMTP id t21mr30973261edd.91.1617056995729; Mon, 29 Mar 2021 15:29:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617056995; cv=none; d=google.com; s=arc-20160816; b=0F81604GjeLHVcAkYR/l8V1/HQQXfynV7KjLVFBSAFHw0F6HOJJmzCC9CJ2GQdSR3o 3iqZvyjuSIg94HxvILjJZN0zLqT9LqGxJvH7yLiYahnZ5VBUwoDYzQRn6V/ivlzS882o CGPj7vOSPB/kE6nA8Exma6PMJvH8JO/xfBoPwpPZEGmgD/un7sWEoydZfSMck2MFrF4b chBOGKiG6jAp4h4sHSciNQQ9vLIyID36LQM1FduOWmliAGQH1UDHG8SjeyaV55sjfHDl r3oRT6H2Ter3QuAL5z/rpaTSil/0NmAqSuGtXOmz3B7CkZKufWJ3tu0xnehhAiYV11yy 1+iw== 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=gHVTEXqNz/agB36ZXJQrGirERG7H3JtS85FCJ5lwIa0=; b=tXn7motNr2DqoNUwfPfcGGCpnS0ufa4kD1AMITr2xeJUDnTK0/30ecsQkS1oh1/LlJ chL3Ldpg3cWYp0avlfkHB+OmNhk+Krav66D7hSampn0a0Tu96bdjpMYf2k670Fq6eEFF W8rGcz/kPBs0KMp9VX+AqLkmc+jvQboMCTQTI9wmQCbiLYhPqNcaUp1R+UJrsxWBO61n VWKyxNrly10rPgfhMrhoGn8PbB5QhXKNgBfGXhhdHiuslUih4ED/iOQItR2tYvaDm6Z/ 2HdupdSMP5Fq88Btwkc7n3+McbGJXYrZie1wFeQBFz6hpiEHVvXVxaQ8vwJ/FbAKpcVo bHdQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=i0pMPI0w; 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 hr14si14457143ejc.394.2021.03.29.15.29.31; Mon, 29 Mar 2021 15:29:55 -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=i0pMPI0w; 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 S233082AbhC2W25 (ORCPT + 99 others); Mon, 29 Mar 2021 18:28:57 -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 S232619AbhC2W0Z (ORCPT ); Mon, 29 Mar 2021 18:26:25 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 504C3619CE; Mon, 29 Mar 2021 22:24:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1617056647; bh=a1uXK/+GlABlmfBCQvKMA0C/8sWssEIwuCem40Wi1hI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=i0pMPI0wU46czHtlPTQPNOhRrT9NRUgpvl6sa+8LBNuPryGqj1v9g8OL7ELzAeQ92 bypLzDJ28saKhaZ2vRN+oFJFCFge1yodyJgfCHnZb7w+rdRKMEu1QUDj4iA0zHNAuL PE8GWsHLhircQClKRC9xXjWHrQp0hPWIbAMtqSl5j+ErM05nn12h1iuYRJSJxr6zNf odd3tEQDdJuUbFUghJE4EsHpL/QxxpwRePVtmiN6CcH2fESnL/tVQ09hZWMTJWjM3J KAUP9Fegg3ejXOgYiu6grG2xyGE5vVdFHnZGCGnXAFvOUwqoSJEEGdzchw38b6D7al Y/WMz6ndL2aMA== 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 4.9 04/10] mac80211: choose first enabled channel for monitor Date: Mon, 29 Mar 2021 18:23:55 -0400 Message-Id: <20210329222401.2383930-4-sashal@kernel.org> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210329222401.2383930-1-sashal@kernel.org> References: <20210329222401.2383930-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 e3bbfb20ae82..f31fd21d59ba 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c @@ -906,8 +906,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