Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp803487ybp; Fri, 4 Oct 2019 05:18:51 -0700 (PDT) X-Google-Smtp-Source: APXvYqz/TlTuKEdiaO4wCtJ956uChyUEUNAmETcof62IBSNZy0gGUWAAHFfmKBBLj9L/ImDGLYg5 X-Received: by 2002:a17:906:ecf9:: with SMTP id qt25mr11710020ejb.249.1570191531152; Fri, 04 Oct 2019 05:18:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570191531; cv=none; d=google.com; s=arc-20160816; b=e6mGfc2kI7lJUua4nuwvp2qK8Wn4JvST08jBWaTykYB5raeg0CxAMM+gMD1/A56FVV b06sgTj/I0RFVN0Kzc4FWCqD4gDOgN67xtM4R2zmER1uVL+wyHNgAs/3gh8N9SPoSaJZ f+NFfOERdrFD0ayx1a/lUdaGRC2dW5+a6VhFXSa02SmcXri8+A8nDsiX5sAxBMCLtFho S+opcZmCnZ1wYp5gpiSErmGKbiqSa6kBy1xJWtjOLVg64pXfzc3uZfvgYTMxU4ZHVm1c tDR0pevi4mfzDHb4BaqEUtPssecwopCtHn0PbEE8PS7R4XznXnn82J6kH9VGxRhiXisr TbZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:date:cc:to:from:subject :message-id; bh=i4wITpHaSKUL2BDFo7omLuEStscjMeXm1HyqBcBTSWQ=; b=zP3yOxPZK8nhPelFaSAxpQjAUOrEOHalhrdpf27jZokq33D3/VqLvSYxrVp6ocmL8g tV150enpBptiWGwDWTTU5Ea8l2ZgwAwyE+vbnSl8SFlkVsT3htV0qYWjmO4MuGRDD435 qMnSkB0fOfnFYIJq2wQVsVJJTUzwnBgO3DAmMQbD2U76QRhORIp/QfxK27EhpLjSlLhS PEn59YvIUDCdUnA5+ZRe8sj+nBbcI743Gbj5H+xHGI+EwUNJ6TGLEmz41SiT1WgDyUmQ Hat7OIG+FxRsHPW3lg/pVoIEwM7ZEO33icXw22D1pzFW2dDsoWbALC+I/dB6waz6HQx7 hYrw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d25si3230975edq.65.2019.10.04.05.18.24; Fri, 04 Oct 2019 05:18:51 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727849AbfJDMP2 (ORCPT + 99 others); Fri, 4 Oct 2019 08:15:28 -0400 Received: from s3.sipsolutions.net ([144.76.43.62]:39034 "EHLO sipsolutions.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725826AbfJDMP1 (ORCPT ); Fri, 4 Oct 2019 08:15:27 -0400 Received: by sipsolutions.net with esmtpsa (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.92.2) (envelope-from ) id 1iGMUX-0007bY-EC; Fri, 04 Oct 2019 14:15:25 +0200 Message-ID: <164db03648d82e0bdf962d18508322ac71f1b66d.camel@sipsolutions.net> Subject: Re: [PATCH v3] mac80211: fix scan blocked on DFS channels in ETSI domains From: Johannes Berg To: Aaron Komisar , "peter.oh@eero.com" Cc: "linux-wireless@vger.kernel.org" Date: Fri, 04 Oct 2019 14:15:24 +0200 In-Reply-To: <1570090415-28671-1-git-send-email-aaron.komisar@tandemg.com> (sfid-20191003_101345_590925_ADCFE050) References: <02f58201-4b92-0a1e-d237-6838543a3513@eero.com> <1570090415-28671-1-git-send-email-aaron.komisar@tandemg.com> (sfid-20191003_101345_590925_ADCFE050) Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.30.5 (3.30.5-1.fc29) MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On Thu, 2019-10-03 at 08:13 +0000, Aaron Komisar wrote: > > The real reason of scan failure is because mac80211 checks if it's DFS > > channel, but it doesn't check if CAC is done or not. > > The problem is that scan request is blocked in ETSI reg domains. In non-ETSI > reg domains the behavior is fine. > > cfg80211 blocks scan in non-ETSI reg domains and allows leaving the channel > in ETSI reg domains. I think that if we add a function in mac80211, which > checks if we can leave the operating channel this function should also take > into account the reg domain for completeness. > > So to solve the issue, the right approach should be "check if DFS > > channels and check if CAC is done". > > We can't scan while CAC is in progress but why must we verify that CAC was done > in order to perform a scan operation? I agree that'd be weird - if CAC wasn't done we shouldn't be operating on that channel to start with? Peter, can you clarify your objection? Just to be sure - we're talking here about the channel we're currently operating on, not any channel that we might want to scan on. I also note that regulatory_pre_cac_allowed() is named a bit confusingly in this context, but I understand it - maybe a comment would be worthwhile where this function is used, saying e.g. /* * If pre-CAC is allowed, we can also briefly leave the channel * for scanning purposes. */ or something like that. I do wonder if we should pull up the check for "cac_started" into cfg80211? But then if we do that, we could maybe even pull *all* of the checks up? But maybe not because of the tracking which channels we're on etc. But at least the "cac_started" seems feasible? Thanks, johannes