Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3915896pxf; Mon, 29 Mar 2021 15:27:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy9dDKxr56RbdMIjTn6AXz40gEkjP/s0vH89HaeB8kbetIJAslAOMB/NrZe/WjrrtEGc0gT X-Received: by 2002:a50:fc94:: with SMTP id f20mr30833744edq.370.1617056874459; Mon, 29 Mar 2021 15:27:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617056874; cv=none; d=google.com; s=arc-20160816; b=l3Q/wMQOCqMnf75xIVdTrZ6OkZn99311HTrm3FZTpa1P1T5nxAWLJbqp4LpSpHZDQY g8K8ZDm7hhIFnQ/9uDptWJiNsmA47QiEXoH9EVhQj8YDlwcgzDjb1curjw18xB+l4sfe Ht8VsIe30TR3ejNLMo8Lp4TlAP/IbNY6jXrjYSjmmLmCgVYsy6E1h6gjJpAdPsPZVqcO Dy+gs1I118eB9zrJEbfO20k/5Sh9QZV96CvJWJUXvV1RTNGXovvr1BD4HxxHDCqwSRll weTd/nhLIxcjBX2ed/lEYT5i/H50kR9QRYaZE8pfNQuqQfJFg50NBM/W+pOY00GKVEwN Rq2A== 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=FkSGKrJB7sO7yAv3zdjOEJKjtssRYl5lBLvpMZxCBc0=; b=vJeD5Yh8CTbr5fXWKIovFKXwz/Ts2u2NfyVdx+H75W3e4mjZRUH2PglwglrMDvHDsj rZ2YIXDUqb3cC/m1TKoNF5QSkHyF4otGz3fmpBgNQJLRcmozqbJyh/UjXze3XQRwLhzk NZKApJyZECDoALOserLUtDB1CBTktVr4Xm5sQ+RdWorfS+8vWTGUTYobTcD3uGKrIeYk iXD2YiXHwF7OBJOeQPYhMdBHS2gVzOWyn36yi/mQr5BcsGgNTaZGeOkToTLWHJEVC+Je eGh12YaDVibzSlv4TfneJNxtbilBBEKVJzKFTOzXk+MR6urYDE2xhqwWXH9TmTB1T6th BOuQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=XQLfA5sp; 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 a10si13434388edv.308.2021.03.29.15.27.30; Mon, 29 Mar 2021 15:27:54 -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=XQLfA5sp; 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 S232420AbhC2W0w (ORCPT + 99 others); Mon, 29 Mar 2021 18:26:52 -0400 Received: from mail.kernel.org ([198.145.29.99]:47708 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232743AbhC2WYK (ORCPT ); Mon, 29 Mar 2021 18:24:10 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id A80B9619BB; Mon, 29 Mar 2021 22:23:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1617056615; bh=ESaG5xY99YlSyH/jJMtYspYTLm0ub+JFq0HjG/Ioor0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XQLfA5spiUC/2dkDDenxHKQLIweZk8RKNx56h1UsdynKyjy1giBI46fJkKa6C4b1e OfB7w+9g1zQq1uG7AmXb0JzS0L54rQVF/JSY1zjrTLV9HbrssuKSfXKNhB2S7quTcc tcuTZvukERNigWcs9qcPlyif15iVU8OkpJ1KlFJ+4WfC/SC/NKoFHB0Jf2u1G24gfX tF/Jz11BS6AR/9EMdWLFmGUbCMIUsOejR4jdh2Pkl5m2crTxusq3i1zwYe0/+b3J9P 1nyZwDeHKrIkKdBxYySjW2XeTTslekr1taAz49Xudg6LLeur9P/Tz2CgWWLwkMIJwY K9VC9Hh8IqT+A== 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.19 07/15] mac80211: choose first enabled channel for monitor Date: Mon, 29 Mar 2021 18:23:18 -0400 Message-Id: <20210329222327.2383533-7-sashal@kernel.org> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210329222327.2383533-1-sashal@kernel.org> References: <20210329222327.2383533-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 68db2a356443..f44d00f35fe7 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c @@ -931,8 +931,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