Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp2873938pxu; Sun, 29 Nov 2020 07:34:32 -0800 (PST) X-Google-Smtp-Source: ABdhPJxlY2pUIpiAjfYwjmLRSE9h0aNklqhawuQ7nQEwKXOm07j/dxd7mPJuSX2uUZothpTlsXtZ X-Received: by 2002:a05:6402:1d85:: with SMTP id dk5mr16886619edb.283.1606664071921; Sun, 29 Nov 2020 07:34:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606664071; cv=none; d=google.com; s=arc-20160816; b=A0lQvFlqyPydFnVc/rw4eFQqATsbNBuKSniJeJIFnri5IEQWw2P04eDY6C8L4EVcB4 gK/LHv9GVMdHzfX90W7TF6myhEEqiJTwG6ojeYfQrPDg55k+PK0YYe9z9q/1boMC80Mw QYYUtDtraIucHazOQ90vw2TPbfX9mdGRGmnmYnLtAE4FRgebKyM3qV/bG1H7y2nUBKHm zZ8F0t/Nlf+q38L/DpHk9YyOMavv+4mdDfMyHfSqlLK3nfNz/IWuCHyhL/HcBx92BQ23 x1o53+xUR0PcogkHVLos5gp92wTaULIkOL2yiqq0yXtx87ZrWdnpJTbApDmAxyv1BXLN KJng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:subject:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:cc:to:from; bh=Zcd98vwxjDZrfoiF7Pyw/5RibBAp21FZq/UbevPKsMQ=; b=ccZ1vfXI5QSBIvBvFzu/bVGcS59DejMGMhdktK4JY/fXVIIHC5bbzqnf21CE2SrJcX gHGAHfLzb1MjEpUGF0Q2gj2iD868LRP7pO9hrZl3w6Fm3qAGWxe1VuimxUJW/bcYuB8m ckKFJsuwUgf1Yc6aPxiKxTPBiXgG+SbDkkPufldsqRiggOhE5BCZHbdr4BiVL/rskG8x QC3axDy51CTlrm7lvNzeKvTuOarDbkumHzYU+rmgrVf44mYpqQsFE00w5+O2mSJKLrMv DSkNQO32b4Exr4jpnJrxbnutEdkND9ZsN0FpiptWDbwOAxSn+UsSeqwIAZ4YoGptttcs cXWA== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cf13si7050323ejb.317.2020.11.29.07.34.08; Sun, 29 Nov 2020 07:34:31 -0800 (PST) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728028AbgK2Pbu (ORCPT + 99 others); Sun, 29 Nov 2020 10:31:50 -0500 Received: from paleale.coelho.fi ([176.9.41.70]:33540 "EHLO farmhouse.coelho.fi" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727739AbgK2Pbt (ORCPT ); Sun, 29 Nov 2020 10:31:49 -0500 Received: from 91-156-6-193.elisa-laajakaista.fi ([91.156.6.193] helo=redipa.ger.corp.intel.com) by farmhouse.coelho.fi with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1kjOfF-0035ld-Up; Sun, 29 Nov 2020 17:31:02 +0200 From: Luca Coelho To: johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org Date: Sun, 29 Nov 2020 17:30:48 +0200 Message-Id: X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201129153055.1971298-1-luca@coelho.fi> References: <20201129153055.1971298-1-luca@coelho.fi> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on farmhouse.coelho.fi X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00, TVD_RCVD_IP autolearn=ham autolearn_force=no version=3.4.4 Subject: [PATCH 06/13] cfg80211: scan PSC channels in case of scan with wildcard SSID Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Ayala Beker In case of scan request with wildcard SSID, or in case of more than one SSID in scan request, need to scan PSC channels even though all the co-located APs found during the legacy bands scan indicated that all the APs in their ESS are co-located, as we might find different networks on the PSC channels. Signed-off-by: Ayala Beker Signed-off-by: Luca Coelho --- net/wireless/scan.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/net/wireless/scan.c b/net/wireless/scan.c index 3409f37d838b..5f92d85acf45 100644 --- a/net/wireless/scan.c +++ b/net/wireless/scan.c @@ -726,7 +726,7 @@ static int cfg80211_scan_6ghz(struct cfg80211_registered_device *rdev) int n_channels, count = 0, err; struct cfg80211_scan_request *request, *rdev_req = rdev->scan_req; LIST_HEAD(coloc_ap_list); - bool need_scan_psc; + bool need_scan_psc = true; const struct ieee80211_sband_iftype_data *iftd; rdev_req->scan_6ghz = true; @@ -770,20 +770,18 @@ static int cfg80211_scan_6ghz(struct cfg80211_registered_device *rdev) (void *)&request->channels[n_channels]; /* - * PSC channels should not be scanned if all the reported co-located APs - * are indicating that all APs in the same ESS are co-located + * PSC channels should not be scanned in case of direct scan with 1 SSID + * and at least one of the reported co-located APs with same SSID + * indicating that all APs in the same ESS are co-located */ - if (count) { - need_scan_psc = false; - + if (count && request->n_ssids == 1 && request->ssids[0].ssid_len) { list_for_each_entry(ap, &coloc_ap_list, list) { - if (!ap->colocated_ess) { - need_scan_psc = true; + if (ap->colocated_ess && + cfg80211_find_ssid_match(ap, request)) { + need_scan_psc = false; break; } } - } else { - need_scan_psc = true; } /* -- 2.29.2