From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com [209.85.221.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E70E223EAAF for ; Mon, 4 May 2026 04:48:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.53 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777870116; cv=none; b=H5MGnTWJL8/vkSiiqhlWRnQh97y4xGAhvasOqbHjik5Qx2sGRIqgetfc7lXsBzpbURqsarQt6ElC7O0nNgCmiMdO5gU2XDW1LR4gJflQUF6EsfDreEuXMbZ7x3SkrM277C5aKPJhmFiH3k2e9O6dIB4+L59EDwGbXDqDrgJw50s= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777870116; c=relaxed/simple; bh=UsN+5rdpiQklvNAPMN4WRO0p4xXhnZmnSuijx3xmqNY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DOB6WI8O9TH2meTiSy6zr18lckzuopI0mesj0dNgQTkVqxdfllU2Tzs7poHNioW+vCzDkpr3FzgA37GhyqDNwtt8fzTZTgA7k1aCwTPHan2pLsWfyBsjlFu1UphtucV2HeiYQ9vl28W97gS3Vp3sxmj9GyOwVQxQOW6GtAvnWQI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=hWApRrRq; arc=none smtp.client-ip=209.85.221.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hWApRrRq" Received: by mail-wr1-f53.google.com with SMTP id ffacd0b85a97d-43d76dd4ee8so2872393f8f.2 for ; Sun, 03 May 2026 21:48:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777870113; x=1778474913; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=cHjB96/OxUK+voZiclEhSlCim+vwAL/oAMBbY7fJVPQ=; b=hWApRrRq3sTXBWFDST/47RLWS7Or5trEHMTNNaaKhN2IfV0X42dZlZKTJXJbJQJnjy Qa2sVO3nn+LA/FHG9xYuHd/OjOVxMZ/6dNKwFrzBXo8Fxh+2UV4eQmg4o/kW7R1b1wa6 CN9GcN2PTGrC4hdIube5Cd7Y6fhGkqPHK2FjcJd9j8d4V/s7Zeu4oyizofeWMFerCitH 03w1yN1izW8umhniKvf3pZTXeBpOChf+fiGdT8ToWk53A/++HqDxSkWps95J9hmgYV+3 uUYYsZdQ0X2l3UbgQUKJDJGbq+OpVzoe5SBtmi27VAkKrsrXU2EnUCHU0Al+3kUN3olO hSYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777870113; x=1778474913; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=cHjB96/OxUK+voZiclEhSlCim+vwAL/oAMBbY7fJVPQ=; b=gwWXourXH6sTbRxOYTkGwr0aDLU3y3iRp76CvpmK5jQCWQexLk1VMGMtaCBGo6OJE8 vbKY9TkEX/Mx2/tw+lZOdqKArlRjC+XK3OB69UWoBhrDXAqwYPZ7+wQbUwADNNx9A9rY yrM6bejznyHZL/0pyKBlgYpwThCs9yY8t/94Kfsb/1OQ2xxTlm6UHdEqyx/fZW94ZxEU 38Z+nbtnYKVTb09KduPwNh+PDZtPp8o8fzxlhvrfV5B7RWSZTNv4+uz7rgBsLobdZmbJ 0NQ2hZxDcl7StM/JJlMGKgie4bTfG0Opp617lbiyP8Qk3Ssux4W9pvlKzDGYaqOdLXIu HpDA== X-Forwarded-Encrypted: i=1; AFNElJ/t4n+7Ys3+JDDVjgXN1vutDpBED0VFdrw4IrzTBbGSWJnDvKBw6whwrMautCp6shtL7FcoyDf6ZkDkuYY=@vger.kernel.org X-Gm-Message-State: AOJu0YxDy92+mrP2EyC7II7QK4fqw/9FkbJi0PnzRHX+EbvWoHi6WSSN FLcogNexIAMJ95Y7fBZT+DxGN68ozkvTaH31B+nfmnamOyIlZ/o/PfKN X-Gm-Gg: AeBDiet9ozmPaEQLTlxFjZWYamf4Lf6nxdLfJZirKt7cZMYBRSVYKDFNkoVbZ3jkz1u 3yDKDrsvC5OOROlct4Lnue3TKuOR+ZMrHYWGeFn/3JhUPo4DHicPwmWXe1Le3QxXnJLx6EFH58S qdYlNSzWtsM/nVSB6pKYVA9xU3GWDRfaqcYEDDkThM1OML8F3EQciTkNX0xKvBU9rhxH6vZQjyQ XYpjxCRoofTuOi21Z3rwVQfhciV4LApZAm9XzzMLWFjY9Mu3zetTd3NoUaqBtEdvs9wNJsxVe/S Z22UmakDWZDntk7/oStav3ZKmNZ6vGzmg67wS0QBt5Kx/y/63tEzei1U3vYGq+UtpsPbWeuiswa uw+nao570MjBnk0WZKS3wkymlRmxnMo6A9AdS/4iZsq36BHTDGLXYPta0NOdZIW2E6iA3VxFGCj nmEFMQo+2kTKulyJ1oX37LaMD+NgTx+DuaBczbQV9x/5N3wYtMHEA+CwgIsQ== X-Received: by 2002:a05:6000:2311:b0:449:fb9e:4b4e with SMTP id ffacd0b85a97d-44bb4722fcbmr12510408f8f.15.1777870113214; Sun, 03 May 2026 21:48:33 -0700 (PDT) Received: from localhost ([102.128.173.0]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-44a98b768fdsm22144032f8f.33.2026.05.03.21.48.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 May 2026 21:48:32 -0700 (PDT) From: Louis Kotze To: Ping-Ke Shih Cc: linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, Louis Kotze Subject: [PATCH 3/4] wifi: rtw89: advertise MLD TID-to-link mapping and link reconfiguration Date: Mon, 4 May 2026 06:48:16 +0200 Message-ID: X-Mailer: git-send-email 2.54.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Wi-Fi Alliance Certificate WFA129313 (RTL8922AE 802.11be and Bluetooth combo module, 2024-05-23, FW 6102.24.109.0) certifies both "Advertised TID-to-link mapping" and "Multi-link reconfiguration (AP removal/restart)" as Wi-Fi 7 features for this chip. The driver currently sets mld_capa_and_ops = 0, so the STA negotiates neither capability with the AP. Use FIELD_PREP_CONST() (already used elsewhere in this driver, see usb.c:784-787) to set IEEE80211_MLD_CAP_OP_TID_TO_LINK_MAP_NEG_SUPP_SAME in the TID-to-link-map-neg-supp field, plus IEEE80211_MLD_CAP_OP_LINK_RECONF_SUPPORT. This matches the value used by iwlwifi for its Wi-Fi 7 STA mode (see drivers/net/wireless/intel/iwlwifi/ mld/mac80211.c IWL_MLD_CAPA_OPS macro and mvm/mac80211.c IWL_MVM_MLD_CAPA_OPS macro), which is the established in-tree precedent for this exact bit pattern on a Wi-Fi 7 STA. The IEEE80211_MLD_CAP_OP_MAX_SIMUL_LINKS field is left at 0 (= 1 max simultaneous link, matching the EMLSR-only operating mode the driver implements per enum rtw89_mlo_mode {MLSR, EMLSR}). These two capabilities are orthogonal to MLO operating mode (EMLSR remains the negotiated mode per the previous patch in this series); they let the AP perform online TID-to-link reassignments and remove or restart links without a full assoc cycle on the STA side. Tested on RTL8922AU (USB variant, same MAC + RF as cert'd PCIe AE) against TP-Link Deco BE63 mesh; assoc remains stable, no regression in EMLSR multi-link assoc behavior, all 11 wifi-health-check probes pass. Link: https://api.cert.wi-fi.org/api/certificate/download/public?variantId=129706 [WFA cert WFA129313] Signed-off-by: Louis Kotze --- drivers/net/wireless/realtek/rtw89/core.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c index 986deb2c1384..aedb2a284cd4 100644 --- a/drivers/net/wireless/realtek/rtw89/core.c +++ b/drivers/net/wireless/realtek/rtw89/core.c @@ -221,7 +221,10 @@ static const struct wiphy_iftype_ext_capab rtw89_iftypes_ext_capa[] = { IEEE80211_EML_CAP_EMLSR_SUPP | (IEEE80211_EML_CAP_EML_PADDING_DELAY_256US << 1) | (IEEE80211_EML_CAP_EMLSR_TRANSITION_DELAY_32US << 4), - .mld_capa_and_ops = 0, + .mld_capa_and_ops = + FIELD_PREP_CONST(IEEE80211_MLD_CAP_OP_TID_TO_LINK_MAP_NEG_SUPP, + IEEE80211_MLD_CAP_OP_TID_TO_LINK_MAP_NEG_SUPP_SAME) | + IEEE80211_MLD_CAP_OP_LINK_RECONF_SUPPORT, }, }; -- 2.54.0