Received: by 2002:a05:7412:8d10:b0:f3:1519:9f41 with SMTP id bj16csp3416005rdb; Sun, 10 Dec 2023 05:06:40 -0800 (PST) X-Google-Smtp-Source: AGHT+IF3MFV3qTNGAwYDJkbbhYKLDyqviWvb+do6pnj0PNPMjih9D/pkuDm2cU14KYgdXVL84j3+ X-Received: by 2002:a05:6214:1934:b0:67a:caca:2d28 with SMTP id es20-20020a056214193400b0067acaca2d28mr2614146qvb.120.1702213600528; Sun, 10 Dec 2023 05:06:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1702213600; cv=none; d=google.com; s=arc-20160816; b=g2FKt2+Z9W1vXjS+3TKQzgNQsbjCxtRZEU+4u6G1zTKUKDB+h7Cv7zxHjrVT8JJEVG pkA6ffapgSEO0HStVN4F9ZCFJx//R/wt5RS+bRSXZNpqJiz1Qip/VDmyig3roU+0Dczm 12LY09PUxZyg73QwXQ5ZyUvbDFfOyIxgRC26b35++uf46EYvF7IBmm8adn0q0c/iP3Sq WC5ebb2iWaWS2ulmcz1Kkd+yDCw9KeIpUwJ/LI4l0eaGLOf8Iille5JPRDZVUpOLTzCS U7SEkb9aDNcp3zdvuefQh1hWUVmT62Izihs7J5pKa3BxTTDwxHj+lvGL0vZVAjoACT/Q EEdA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:organization:mime-version :list-unsubscribe:list-subscribe:list-id:precedence:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=lm6CgSoYV2PPqhjA6Arar34GjkYPiqGtxfSGcQ7nqsI=; fh=3UyhT8MHEwNnD4YxhXQJEGuBJbCCW9VI4k+GgJ2r7Js=; b=JBgOKYYP5RbzwBPUtH7QvdfiD8YUz5SsthyFQb+d568/uJ7Z4avdOK6TgiQd7wcTiD CJF+zI0IOJ+MEM2yaaDLn0oop6+Z3OeoDP1gdXNXziN3Rdjw1oGGPpIatMy8hrlNcZZz kbTXQ8EJZKXuxwyaYvhB+NQpiRL7ajFo//V6LYnD03qgdzu8P+CF17YBeiU1RVIB6kyn 3GccPuMj4OMdgWOwMMr9lvGLvfFhmllnHmNKNLgg8/FoBpwPafuXZM5ziK+9Wj+M1Z/C ZmKs6+9Krfz0bITOXsbN2wKjUh4ZLVmwJbSKNNxsgYEyY5pSOAqoH/FwNRAV7G3XDmkR nXWQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@intel.com header.s=Intel header.b="d30/LCQB"; spf=pass (google.com: domain of linux-wireless+bounces-606-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-wireless+bounces-606-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id y8-20020a0cec08000000b0067a69bd3970si6026301qvo.480.2023.12.10.05.06.40 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 10 Dec 2023 05:06:40 -0800 (PST) Received-SPF: pass (google.com: domain of linux-wireless+bounces-606-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=fail header.i=@intel.com header.s=Intel header.b="d30/LCQB"; spf=pass (google.com: domain of linux-wireless+bounces-606-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-wireless+bounces-606-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 47E9C1C208CD for ; Sun, 10 Dec 2023 13:06:40 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 6EA8CF9E2; Sun, 10 Dec 2023 13:06:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=intel.com header.i=@intel.com header.b="d30/LCQB" X-Original-To: linux-wireless@vger.kernel.org Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B82BF10A for ; Sun, 10 Dec 2023 05:06:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1702213595; x=1733749595; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=7tYVRvl5JCRHfQPEROlW+xoT7tx9ymPAeu9Q+T6GVpE=; b=d30/LCQBXCnNST59LVS0zrhtYu38PmLIYyCJ2Ya8bb+kMOE9lh4mUPRc qWt3DFCgnFe808x/RUZpTRjMVfbZ/gwn0U6Da8WqlG7pEiMR/D8X73g6Y Q+VoHAAOjB5yecCd8yKCiGkwnNZXuTENj2X/NDZLSguczGQurS2KG51Jw MSucjbvskXOt07z0Pg2NL2M7jVJOBMb3Y/SZlRMV3TtaBYznppuI2ekBJ E57aCkmR53gmHrbuT3DYmNCFS508K64YyVvUiNEjp8UkfV3OD3eOlL926 IMxflnP4okNvSrg0ejQfl1Mmvc2hmDjQbdD7HSkoNKDmr0We32ktsUuIj g==; X-IronPort-AV: E=McAfee;i="6600,9927,10919"; a="480746163" X-IronPort-AV: E=Sophos;i="6.04,265,1695711600"; d="scan'208";a="480746163" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Dec 2023 05:06:34 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10919"; a="748926422" X-IronPort-AV: E=Sophos;i="6.04,265,1695711600"; d="scan'208";a="748926422" Received: from unknown (HELO WEIS0040.iil.intel.com) ([10.12.217.108]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Dec 2023 05:06:32 -0800 From: Miri Korenblit To: johannes@sipsolutions.net Cc: linux-wireless@vger.kernel.org, Johannes Berg , Greenman@web.codeaurora.org, Gregory Subject: [PATCH 11/14] wifi: mac80211: don't set ESS capab bit in assoc request Date: Mon, 11 Dec 2023 09:05:29 +0200 Message-Id: <20231211085121.65005aba900b.I3d00c8741400572a89a7508b5ae612c968874ad7@changeid> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231211070532.2458539-1-miriam.rachel.korenblit@intel.com> References: <20231211070532.2458539-1-miriam.rachel.korenblit@intel.com> Precedence: bulk X-Mailing-List: linux-wireless@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Organization: Intel Israel (74) Limited Content-Transfer-Encoding: 8bit From: Johannes Berg The ESS capability bit is reserved in frames transmitted by the client, so we shouldn't set it. Since we've set it for decades, keep that old behaviour unless we're connection to a new EHT AP. Signed-off-by: Johannes Berg Reviewed-by: Greenman, Gregory Signed-off-by: Miri Korenblit --- net/mac80211/mlme.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 2b1b64eb82f7..a693ca2cf8cd 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -1385,7 +1385,7 @@ static int ieee80211_send_assoc(struct ieee80211_sub_if_data *sdata) struct ieee80211_mgmt *mgmt; u8 *pos, qos_info, *ie_start; size_t offset, noffset; - u16 capab = WLAN_CAPABILITY_ESS, link_capab; + u16 capab = 0, link_capab; __le16 listen_int; struct element *ext_capa = NULL; enum nl80211_iftype iftype = ieee80211_vif_type_p2p(&sdata->vif); @@ -1532,6 +1532,17 @@ static int ieee80211_send_assoc(struct ieee80211_sub_if_data *sdata) *pos++ = assoc_data->ssid_len; memcpy(pos, assoc_data->ssid, assoc_data->ssid_len); + /* + * This bit is technically reserved, so it shouldn't matter for either + * the AP or us, but it also means we shouldn't set it. However, we've + * always set it in the past, and apparently some EHT APs check that + * we don't set it. To avoid interoperability issues with old APs that + * for some reason check it and want it to be set, set the bit for all + * pre-EHT connections as we used to do. + */ + if (link->u.mgd.conn_flags & IEEE80211_CONN_DISABLE_EHT) + capab |= WLAN_CAPABILITY_ESS; + /* add the elements for the assoc (main) link */ link_capab = capab; offset = ieee80211_assoc_link_elems(sdata, skb, &link_capab, -- 2.34.1