Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3916523pxf; Mon, 29 Mar 2021 15:29:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzGfTEZd4z36EQdfjSNteRbzuamgb3ztByzbqm1Fm4U46ZX2sCdhTwOFDO5Dw6WXqYB0IRn X-Received: by 2002:a17:906:d10b:: with SMTP id b11mr17527485ejz.144.1617056949814; Mon, 29 Mar 2021 15:29:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617056949; cv=none; d=google.com; s=arc-20160816; b=IV1b7+TNp8biIcFnn+daQ0KrYs9MlLzr5tXay0rLNH+/kspZbeXlqAqDafTZSyLWtW e0yyeOSexXuKnnv4+US1fe7eGQE6N6s3ML8FL9PSGpK66U+8BGWOQauvb1r3xs5ieWWf IYlpXvhcDh0EsLMYaCJvm+3MPt3QQuZmyQm3jglGm5frdFwJx86aal5ehz6ywAsEBUl6 7ZXDcBWc3ToykPYb3Cyirsr4rb1EUtSRAoX6GjzrqiG9OvXh8acxw7Zwe0OOGTEpPy+J cOsOJhCUFOyfKcIfY2++zS8qrgp77zV+z20nuYkylN9xh3QJ3lEO1JLu58GXil71HH5e EdCA== 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=f4qFS/wvPKgujKf/kkRum/saMRsqqWjT6x1PdniLG9g=; b=vSnrKQqO55Tl65q1Kp8//WROEkAZmA2VBL5Fr2Wp4WtdQsyBnkUX+02q+R4H/sRjj3 cxUOO7kK6fpNDmn1RwlE81T7vPB395l0+XI1TpflHSYwN318X01BH15APMaXCGLrfuky DL94Ojh53pmeyfCaY+3037q71scew8+kxQFWdGFjNkdopd8nbKHUqkVJ2RUJ9ZqO4ZqI 4WPY5DCQWyxOTvPcFZ3YtrQ+HA77NBVYUAgkJf9G9KfGmPIbmAhcjrnA9K5SUUoIpN8h VZ4SJqqFo1Xcc6m8i1zE7e+8v12FaQs2M1GaNHpdTMVXJjtgN+KXLaxuj2exns+P5gBr +nLg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=NwbrV16A; 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 g25si13228778ejf.697.2021.03.29.15.28.46; Mon, 29 Mar 2021 15:29:09 -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=NwbrV16A; 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 S232810AbhC2W2Q (ORCPT + 99 others); Mon, 29 Mar 2021 18:28:16 -0400 Received: from mail.kernel.org ([198.145.29.99]:48708 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232123AbhC2WZy (ORCPT ); Mon, 29 Mar 2021 18:25:54 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 9D3CC61985; Mon, 29 Mar 2021 22:23:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1617056632; bh=UL7nbt1/t0iiy+yB/FV6yd1Zcnq7C9LkYG4zx/9nZXk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NwbrV16ADWoUcDUHxj/vyXXvCCXk78M4oCYHUV0uKB93/LfU8wkTm++Lx5ktZb+bM XSGaqIFNmRw33zTDCait/BRwZ7QVUx4lqHr/Fq/lifc3Z0m4toBKlviPrR+SYDWNNY LZjk8k5zOqvP7GUEM0igZb3LEAF3vicK28cFeoJWwlITPO/kA7uCJAHf5N8up5UZ42 pnIZhGL1m78LeB2oWOXQFV10ohE01dM125kgtSmnYRu1Gc1k46Hr0lBpat6af1/qFY +PpMLaCZQ5Yodoe47bY/ajGox0YNsQ5ozmH1KcHvHdUjG50FfAoIZGSD2q8s8gZee8 gOWkLJDg7oOng== 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.14 05/12] mac80211: choose first enabled channel for monitor Date: Mon, 29 Mar 2021 18:23:38 -0400 Message-Id: <20210329222345.2383777-5-sashal@kernel.org> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210329222345.2383777-1-sashal@kernel.org> References: <20210329222345.2383777-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 8a51f94ec1ce..2136ce3b4489 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c @@ -913,8 +913,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