Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3918190pxf; Mon, 29 Mar 2021 15:31:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzLNYNT49BZUre8G5VM1NdbIY8/eekbsq69u9QwFBr3ywm/OBypt60QUryANI68UGJIb5Bm X-Received: by 2002:a17:907:7249:: with SMTP id ds9mr30993970ejc.9.1617057118968; Mon, 29 Mar 2021 15:31:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617057118; cv=none; d=google.com; s=arc-20160816; b=BIAO4x+ColHw/zQn8aUt0FZtE6JPGlZHKTrm2em1hS4jmKIUiM1HLGoEoFQ0e/+qPA eFsPCD6LIhg1XFM4OzzejdFNVeyMMGBP4VA+te9hzLT47qcQbY6zuqrPnhiCTV2QVzD1 +bizt6fwI3ZXtU/hgOVlsJlMyxUF6GFKyT3DHlKD0HKwKcALou56IeS8Mb3Obgy7kDXx rn+AKbotrCImeQdmXxphlyvdaIyOVu87bxpRKOMnUx00o4DcHoiEAUb1VRqf0v1eUEKX KPSnJwGs5twEaL0lNDxPOGmP4QHqEz05G5ndtYv5ytRJAp732VsTjGXjj1CMD3dVLdHC 1dsw== 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=8+16aPMgiOLekMyywKDuzLsdi8dZccV/1nIC+1MJwNI=; b=D8kY4RRPL93+kevhHRrkPeB/yDIbtySR9uSV3dO6Oyc3eH2RixsNBsd+5WqXb79B46 mB2mL7KYMs4oNLk31Xqy9E7MCXmN9691k/QYqiASFRS6kWrzActaE5pqyZQnKMw5zbp0 a4bOX7MAuFOd4OPL9mfsDBquIec6la2355A2S1YVFkaMfrX6ABaZivHfyDJ4oR3loMpG zxuzwskS3JZc47ioKJxBHKzRCKBxfOLU3UUyEZp3Bmdq7r2RPQgkJT089QphiP0dixfm tJV1MvkcElFt88a+ThVZkFF6vRAffoOaMO/I8nSNfNmuoOVreZ/ItiXh5twyZaiL1gHg EXQA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=MJbuRMTC; 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 n12si13233449edo.340.2021.03.29.15.31.35; Mon, 29 Mar 2021 15:31:58 -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=MJbuRMTC; 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 S232701AbhC2Wau (ORCPT + 99 others); Mon, 29 Mar 2021 18:30:50 -0400 Received: from mail.kernel.org ([198.145.29.99]:47158 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232636AbhC2W1y (ORCPT ); Mon, 29 Mar 2021 18:27:54 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 78B3A619E4; Mon, 29 Mar 2021 22:24:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1617056660; bh=93WRCoQXNfJcy/6OKMEw6h4XEaAxLRwx9CF2+OTunBY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MJbuRMTCnqU75gCyDApCWbnSPt3a4sghgggB7Ta86mlSlm8RAHas/++3N0tjzCDYt FGK3ekVTPNgH0EOFFLidWQkj0I/kjFGTE4LDjJgpIy0o9TeQE0FYOTApPAJPRvm9Tw MQQl4xByrb+hqG07Wet82Qi8Hpp42LnJR9ImgduwMxnR5lz1vvay6gimsGQy2MXN1v nc7dMNutVMK5XJnfbUY7RCKd84vjcGmINe5a5tsO/9V7uf100s90KACI8y4b0hRXSo jtFvlb2Ak2ZcpSlPxORoN9U4dVU2K7y1L0IzxWQ3PVpQUXepvamZE4+9alzI8q9WGA y+zKAtx5XWwEg== 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.4 4/8] mac80211: choose first enabled channel for monitor Date: Mon, 29 Mar 2021 18:24:10 -0400 Message-Id: <20210329222415.2384075-4-sashal@kernel.org> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210329222415.2384075-1-sashal@kernel.org> References: <20210329222415.2384075-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 15d23aeea634..2357b17254e7 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c @@ -889,8 +889,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