Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp1214798pxf; Fri, 9 Apr 2021 03:01:08 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwdR1NfVKUoPAITKUHh5bJsbMZ9qkDLDF4/eIUiZ+pMX5zP1ppPDWhbQAg7Df76+YZvgiBk X-Received: by 2002:a63:d841:: with SMTP id k1mr12517636pgj.440.1617962467933; Fri, 09 Apr 2021 03:01:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617962467; cv=none; d=google.com; s=arc-20160816; b=X3O9LJtC8JPYPOz2BP6XWAR0PCQ8+Po48eT3MmQe/TbZEEL3SVXb1PiM5yeraMk4IG 9WuXXrF7zWZH+mswprPj0ESA8HxwFrRJNTgHbGtZAQyubY07Hw6jyOke4maKK6TS15Bs gvHBKx6xMGrvUtGJSEz6kY8gKgzrECIPI+HiDo2EBX33gYmyQT/2cHyB+gxqXLbAF69X mv+afnSgZic3e5udjLWbiiT6xqk3t9g/sS8qQ23XOLMftpCQgbwY0zSsPMiDtmcLY6AK bv34aWIRYpymBkcoLgm33XL4AaH4P7gFBtFE9LmE5Ore0IuH5DAIcaO4hrmepW9YCvEB +XUQ== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=91xmy/3RX33w4is4d+mjKu0uy2Rbm9O6s/VqkyHveqk=; b=KjQUmoqxvFvoB4h28kOIpzc8AMmOY2PiATcoy50DsTKnB5y3svOKfkGDjtbJoJ/Nci 7El9qwHPMy9SXHv4iy+7bYs6zewbvrWtcusOqt9c9hrPfX2uaz3nwj9NoGWJidueO2WH kFxRAlOXCH04RUpH6D4E1zFqMGk6/kvSg3HEVww97agVQ5eZ48Cwmxa7+wuWCi4WA5WM 9I3CJyFDsj2KNOLk/2QDvAU4ukLhYUoWZ3DyaG8CSUEU/lkydW97hX0trVsSykIcvfbm vqJEKbNjEBv6PezyiuTHRmrijJwpTCFTdB9K55KQ46tneKLNtE0meIId8KrHIEqx3Ap1 n8TA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=D2REfOYS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r207si2549605pfr.344.2021.04.09.03.00.46; Fri, 09 Apr 2021 03:01:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-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=@linuxfoundation.org header.s=korg header.b=D2REfOYS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233129AbhDIJ7S (ORCPT + 99 others); Fri, 9 Apr 2021 05:59:18 -0400 Received: from mail.kernel.org ([198.145.29.99]:45724 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233423AbhDIJ5Z (ORCPT ); Fri, 9 Apr 2021 05:57:25 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id A0E6D6115C; Fri, 9 Apr 2021 09:57:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1617962232; bh=PN1incmu1iRF0jLxAlMJ+fkGYo7KnKKtOuUt+T+AoxM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=D2REfOYSkNufbQAAUEnQrBFEqk6kloWcaf1pToxBShIl5OrKalgAsmlLG1l6cy4Qg OAStfGGSYowReR2jkHdlFd2WxOf+2N+CLPpLFBbbIJbpVHSZlo72ZEPCS1TZG1b7RI 7JLMeOuTjlz2m6OTEbTFRHqr5rp/f0Cs3mTzT9Tw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Karthikeyan Kathirvel , Johannes Berg , Sasha Levin Subject: [PATCH 4.19 06/18] mac80211: choose first enabled channel for monitor Date: Fri, 9 Apr 2021 11:53:34 +0200 Message-Id: <20210409095301.733643349@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210409095301.525783608@linuxfoundation.org> References: <20210409095301.525783608@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@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.2