Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp3996362pxk; Tue, 29 Sep 2020 11:20:43 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy+uagR+WJySXu77gQ1FoMyoPRasUjjDivdqAfigiRMCVPXP9DL4UAOpb1aSpdvtAtXvWF1 X-Received: by 2002:a17:906:31d4:: with SMTP id f20mr5146685ejf.38.1601403643230; Tue, 29 Sep 2020 11:20:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601403643; cv=none; d=google.com; s=arc-20160816; b=i/aL9nIk5MV0wQOgmUR5T9Zps2kqNdG+2uaxq1leL+7Pnw+OjPzhz1DpNd8U0hyADd Byx5Nf/6iCVCjFjHLtr9UeSsDNphXKC5Bsh57ALB3uIqtQePptEfKi7zYOyAhsbrjtLF 3gbXxPVHHvRJCkQyJqN4xT1Y/11MkAZhNKv2K3G6qKfWuL3+Gj0bdUiAPHGubu1yUU2D mIP1ofx+czsCRKJ3XER4+XIO78w3GDP2+fJXwrNTpYIKdfUaphxNJAXvKOL44/V5Qnjm C+c+rVCDjxBfExR3ZHSPgoDCdddDJVcuYi90GqBQEwN67b54ukXJBlqmTmSgtr1dhqHi 8xTQ== 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 :message-id:date:subject:cc:to:from; bh=TAMeol1Iq5pot7VpMDJutyaxXvWVS87yn7BDT5p4tAg=; b=TKxE23czoS3jLerxJR8XmKF0deNL/T4wI2OYLivl75x2zpWr5bN8LkO1/UnaDveFkC MddAh8hzWySjxzbF2b2jekFarTB2MLxdDAAHuabZFCFoqKuFDnmgLr743x/XNtjznRN8 0aFcHt3+rUjNlKEwY7dKcff1x5IvlrWfLc7tMHEQgrBmkmph4oIsrakZCfCGA8Qy2Gjc Qkr1yHgfOo6T0XeZNXxdyhOAH3cUYVswYcWBut1hIpdvw/sSH80nQlO+eIOEp7ur3oSs K/U3zo5tDrPuRaoPrHyxPKTHBI66+zZ8P/BJ6BHeUIaK5HqmLUToFzXiH1uC7RzP0Mvh ySaw== 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 h13si3469831edq.83.2020.09.29.11.20.07; Tue, 29 Sep 2020 11:20:43 -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 S1728201AbgI2STw (ORCPT + 99 others); Tue, 29 Sep 2020 14:19:52 -0400 Received: from mail.adapt-ip.com ([173.164.178.19]:56814 "EHLO web.adapt-ip.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725320AbgI2STw (ORCPT ); Tue, 29 Sep 2020 14:19:52 -0400 Received: from localhost (localhost [127.0.0.1]) by web.adapt-ip.com (Postfix) with ESMTP id 2F91E4F9FF0; Tue, 29 Sep 2020 18:19:52 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at web.adapt-ip.com Received: from web.adapt-ip.com ([127.0.0.1]) by localhost (web.adapt-ip.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id zxySzrkbIJB7; Tue, 29 Sep 2020 18:19:49 +0000 (UTC) Received: from atlas.campbell.adapt-ip.com (gateway.adapt-ip.com [173.164.178.20]) (Authenticated sender: thomas@adapt-ip.com) by web.adapt-ip.com (Postfix) with ESMTPSA id 706784F9FEC; Tue, 29 Sep 2020 18:19:49 +0000 (UTC) From: Thomas Pedersen To: Johannes Berg Cc: linux-wireless , Thomas Pedersen Subject: [PATCH] mac80211: process S1G Operation element before HT Date: Tue, 29 Sep 2020 11:19:48 -0700 Message-Id: <20200929181948.22894-1-thomas@adapt-ip.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org The sband->ht_cap was being processed before S1G Operation element. Since the HT capability element should not be present on the S1G band, avoid processing potential garbage by moving the call to ieee80211_apply_htcap_overrides() to after the S1G block. Signed-off-by: Thomas Pedersen --- net/mac80211/mlme.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 38e87ac9902e..80b4d46d0b20 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -174,9 +174,6 @@ ieee80211_determine_chantype(struct ieee80211_sub_if_data *sdata, goto out; } - memcpy(&sta_ht_cap, &sband->ht_cap, sizeof(sta_ht_cap)); - ieee80211_apply_htcap_overrides(sdata, &sta_ht_cap); - if (s1g_oper && sband->band == NL80211_BAND_S1GHZ) { ieee80211_chandef_s1g_oper(s1g_oper, chandef); ret = IEEE80211_STA_DISABLE_HT | IEEE80211_STA_DISABLE_40MHZ | @@ -186,6 +183,9 @@ ieee80211_determine_chantype(struct ieee80211_sub_if_data *sdata, goto out; } + memcpy(&sta_ht_cap, &sband->ht_cap, sizeof(sta_ht_cap)); + ieee80211_apply_htcap_overrides(sdata, &sta_ht_cap); + if (!ht_oper || !sta_ht_cap.ht_supported) { ret = IEEE80211_STA_DISABLE_HT | IEEE80211_STA_DISABLE_VHT | -- 2.20.1