Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp4373374pxf; Tue, 30 Mar 2021 06:26:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyvuXq1d6hw7BpIWtpJoIecNq/p0+Wv4Vdkty8ChkjjHT82EnJe+nA37YiuC/FUSgy5f1X3 X-Received: by 2002:a17:906:170d:: with SMTP id c13mr32495145eje.491.1617110800306; Tue, 30 Mar 2021 06:26:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617110800; cv=none; d=google.com; s=arc-20160816; b=r7y5BaRigVzFmOc9hl1DfqyR9CXv/xi03dWPTCxJh3KLWIDR7e0unmyJ9NhgLzJSyV xQ4WMV32SK0cs+6ug2phmGSzUF+vf7SRIpTaW+wr/8tJOkF122xerj28Bm4mmbTGEjMV qQ5BFFg/VDRJmPBQFKxzg+NtmM2Cv7Lowo2PhDHqtSx7U5cKhUkjX2CeJP7TB74JUGSz JiUyl96aK6S75lGAowwqLC8msVnCjaEV+UHpvsb8y4rqM4S7+YK0Q+v9EB64g51/Rj6M K/MdwawUMksUZ2qz67i5KbTHdkT/7Y7zgxlawngM24Pp/LpAtKe96T4hfwE5ps2B6Oab L5Sg== 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=xTcAF+HXQXmbgQhXsuVz5nE4ETrEKn+RpBmiFC0wTv0=; b=aW2YxVpLmMxOUddyfGblMKZSeltwhJ3IZxWYgI7F8goroYIsEmdyrft8ur6BSAIZJ1 heJyzWDTczf2vCIERhDlzBtZyHhlkYMopJunoQAv2wyNGTB+iSsMxmTLFd7LHeUb4JC+ M0Q26CNGJGkY6BhCFIrS0BS04tdwVaCslVk7aVl0xHT4gsQxfBe/QHFl/JbARUaHCWCl ECfSmE3RIFI/ZFqmRe1L59ob6vvWeXO7RsyqSPq5KRfiwPYj5nWYHf2YVNBXVBTKdFyW fVaeSFeSlEwNcQtx2DPUZroPhFGcY+DST9ydDHgo+m1eY3pxsn+r5lnYmz+qXho9RvSk 0Krg== 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 p15si15456979ejr.236.2021.03.30.06.26.13; Tue, 30 Mar 2021 06:26:40 -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; 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 S232174AbhC3NZs (ORCPT + 99 others); Tue, 30 Mar 2021 09:25:48 -0400 Received: from paleale.coelho.fi ([176.9.41.70]:43606 "EHLO farmhouse.coelho.fi" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S232017AbhC3NZI (ORCPT ); Tue, 30 Mar 2021 09:25:08 -0400 Received: from 91-156-6-193.elisa-laajakaista.fi ([91.156.6.193] helo=kveik.ger.corp.intel.com) by farmhouse.coelho.fi with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94) (envelope-from ) id 1lREMh-0007fg-FC; Tue, 30 Mar 2021 16:25:05 +0300 From: Luca Coelho To: kvalo@codeaurora.org Cc: linux-wireless@vger.kernel.org Date: Tue, 30 Mar 2021 16:24:52 +0300 Message-Id: X-Mailer: git-send-email 2.31.0 In-Reply-To: <20210330132500.468321-1-luca@coelho.fi> References: <20210330132500.468321-1-luca@coelho.fi> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) 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.5-pre1 Subject: [PATCH 04/12] iwlwifi: mvm: don't allow CSA if we haven't been fully associated Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org From: Emmanuel Grumbach "Fully associated" means that we heard a beacon with the DTIM information and the firmware is configured to track the beacons. Since the firmware needs to track the beacons for the CSA, we can't configure the firmware for CSA before it knows when the beacons are expected otherwise we'd get ASSERT 301D. If we are required to start CSA before we told the firmware when the beacons are expected to arrive, just report a failure and let mac80211 disconnect. Signed-off-by: Emmanuel Grumbach Signed-off-by: Luca Coelho --- drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c index baf7404c137d..9ed6e2783cc4 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c @@ -4610,6 +4610,16 @@ static int iwl_mvm_pre_channel_switch(struct ieee80211_hw *hw, break; case NL80211_IFTYPE_STATION: + /* + * We haven't configured the firmware to be associated yet since + * we don't know the dtim period. In this case, the firmware can't + * track the beacons. + */ + if (!vif->bss_conf.assoc || !vif->bss_conf.dtim_period) { + ret = -EBUSY; + goto out_unlock; + } + if (chsw->delay > IWL_MAX_CSA_BLOCK_TX) schedule_delayed_work(&mvmvif->csa_work, 0); -- 2.31.0