Received: by 2002:a05:6358:11c7:b0:104:8066:f915 with SMTP id i7csp4503560rwl; Tue, 28 Mar 2023 07:49:00 -0700 (PDT) X-Google-Smtp-Source: AKy350at5FtEgYqWQpb2Mpqwk7S4h8JFnPioUCzrOu4XCsZYQRj55bmr9X0+SJTEyQSc/1nbiJn8 X-Received: by 2002:a17:907:6d8d:b0:946:a14e:23a5 with SMTP id sb13-20020a1709076d8d00b00946a14e23a5mr4127108ejc.45.1680014940155; Tue, 28 Mar 2023 07:49:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680014940; cv=none; d=google.com; s=arc-20160816; b=qkIDGCTf2qSNRYcjw91gXxwFeVtEA3ohPVepqUkA93+Jg//CnJlhOqWigUyc/2Cyrm m2+5+9pvtzs4/euASY6EB9Ml9x/VzeQFErS0rA7kJCxvI6QcaBT4RyuFqaU2lU5JhZEw g6F0eFiYKAsmxsFuVrnqVA3C3HGxpnbxT57/qyhQj6a4ECk7TAzP/43Wx9Z6O6yc9a9g KYYIuG7sdEJ3kisaGu/1VB/yhxa47aqO9FNpGLD9gssMMemH61MGRtW6qMbsuBXoZ94q RXGuTNRakwU83In6OfNNkdyzLF5/eWbjGluSL95aJvgGHa3aqMea54gq9WfWeNCMrBYs de2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:mime-version:date :dkim-signature:dkim-signature:message-id; bh=Ggh+t/LXwa7PfJ2ycMPC3+Is1PMWaawB7rcmtKOCcFo=; b=LRoIzdsj0YpAcrUpCcSL9/HmeZEsrTC/PnKBeyBOoapVGGZxc+Krv1D4HKsSTxJKa+ /2c4Bjo5ocpUF4WWHuYcjId/XX5JWDmIuDy62QBsv+KJpL55CuLhEaf6JuLqdNtfmXN5 ew7ZD/kuCdrUVTJRFDGJB25Kcld1sCUe4FtMZaZvzCuTo+EKhennfZIoMpX+s2MJYtYL uSB/roz8dCBuNTf92bzLuRe8liyV+HXJJ30ZgbBZCcyGbFoLtV7xQCXsvxU6lWGt2F7F 8EXjQOYh4B8MVWqOEe5QldZJbLurmqX69jK5/4nsYapCOu+r4mS3jmFc7dYmJbvy3HX6 nxrw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=GahKAmKI; dkim=neutral (no key) header.i=@linutronix.de header.b=LqbYrz0y; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ay15-20020a056402202f00b004bd5e278481si27641438edb.628.2023.03.28.07.48.41; Tue, 28 Mar 2023 07:49:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=GahKAmKI; dkim=neutral (no key) header.i=@linutronix.de header.b=LqbYrz0y; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232967AbjC1Orl (ORCPT + 60 others); Tue, 28 Mar 2023 10:47:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39186 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232440AbjC1Orj (ORCPT ); Tue, 28 Mar 2023 10:47:39 -0400 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 92C3EDBC9 for ; Tue, 28 Mar 2023 07:47:07 -0700 (PDT) Message-ID: <7e1c9cd8-cb1e-197a-16b4-379647589ff4@linutronix.de> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1680014825; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Ggh+t/LXwa7PfJ2ycMPC3+Is1PMWaawB7rcmtKOCcFo=; b=GahKAmKIKf9Br3n8E1y6gUXk9mTU4BoyjQdRBilNJKwIMYYkRaZJ3CpX+uyHRKQf/wXrwM LJZaA1OUpSQ+MqcdGcCulAcNDYuI0pp17gZd7RRUyzcrQWby554i2x4M3W2qzCHrFAfE6G /eyGuHvN5K4yFWtXZd03jQBeTLOHBlBu+6YLzeYOUzastNIYrs/hCIKsucpTCcnKt9TNOJ yI6Le1n0hrrXLITHfDB6w+lFqnuEW7xmiwfVhEc7Xlj9yKMK38ukrj11v3oGpVw6QZvdST RKTrYmxE+xQQog8g73ytOTfQKY54Q/54lFCLFjx5uNokozCZNXBqxct3SAZbLw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1680014825; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Ggh+t/LXwa7PfJ2ycMPC3+Is1PMWaawB7rcmtKOCcFo=; b=LqbYrz0yl83lixHK9Mi+9f8YTzHUi0HwBfwG3COAMARDSUOzRzOaDlfp4/vCEHtScSOWoP 3Eyon3uy5YkLzsBg== Date: Tue, 28 Mar 2023 16:47:05 +0200 MIME-Version: 1.0 Subject: Re: [RFC PATCH 13/14] wifi: rtl8xxxu: Clean up filter configuration Content-Language: de-DE, en-US To: Ping-Ke Shih , "linux-wireless@vger.kernel.org" Cc: Jes Sorensen , Kalle Valo , Bitterblue Smith , Sebastian Andrzej Siewior References: <20230322171905.492855-1-martin.kaistra@linutronix.de> <20230322171905.492855-14-martin.kaistra@linutronix.de> From: Martin Kaistra In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.5 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org Am 27.03.23 um 04:06 schrieb Ping-Ke Shih: > > >> -----Original Message----- >> From: Martin Kaistra >> Sent: Thursday, March 23, 2023 1:19 AM >> To: linux-wireless@vger.kernel.org >> Cc: Jes Sorensen ; Kalle Valo ; Ping-Ke Shih >> ; Bitterblue Smith ; Sebastian Andrzej Siewior >> >> Subject: [RFC PATCH 13/14] wifi: rtl8xxxu: Clean up filter configuration >> >> In AP mode, RCR_CHECK_BSSID_MATCH should not be set. Rearrange RCR bits >> to filter flags to match other realtek drivers and don't set >> RCR_CHECK_BSSID_BEACON and RCR_CHECK_BSSID_MATCH in AP mode. >> >> Signed-off-by: Martin Kaistra >> --- >> .../wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 19 ++++++++++--------- >> 1 file changed, 10 insertions(+), 9 deletions(-) >> >> diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c >> b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c >> index 82fbe778fc5ec..b6f811ad01333 100644 >> --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c >> +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c >> @@ -6597,23 +6597,24 @@ static void rtl8xxxu_configure_filter(struct ieee80211_hw *hw, >> * FIF_PLCPFAIL not supported? >> */ >> >> - if (*total_flags & FIF_BCN_PRBRESP_PROMISC) >> - rcr &= ~RCR_CHECK_BSSID_BEACON; >> - else >> - rcr |= RCR_CHECK_BSSID_BEACON; >> + if (priv->vif->type != NL80211_IFTYPE_AP) { > > I think mac80211 configure filters depends on operating conditions, so it would > be possible to avoid checking vif->type. It should be possible to remove the vif->type check from FIF_BCN_PRBRESP_PROMISC check, but I would still need it to remove the CHECK_BSSID_MATCH bit in the AP mode case. Otherwise I seem to receive no data frames. if (*total_flags & FIF_BCN_PRBRESP_PROMISC) rcr &= ~(RCR_CHECK_BSSID_BEACON | RCR_CHECK_BSSID_MATCH); else rcr |= RCR_CHECK_BSSID_BEACON | RCR_CHECK_BSSID_MATCH; if (priv->vif && priv->vif->type == NL80211_IFTYPE_AP) rcr &= ~RCR_CHECK_BSSID_MATCH; Another way would be like in the rtw88 driver, where the BIT_CBSSID_DATA is not set again in the else case, but I am not sure, that is the right way. > >> + if (*total_flags & FIF_BCN_PRBRESP_PROMISC) >> + rcr &= ~(RCR_CHECK_BSSID_BEACON | RCR_CHECK_BSSID_MATCH); >> + else >> + rcr |= RCR_CHECK_BSSID_BEACON | RCR_CHECK_BSSID_MATCH; >> + } else { >> + rcr &= ~RCR_CHECK_BSSID_MATCH; >> + } >> >> if (*total_flags & FIF_CONTROL) >> rcr |= RCR_ACCEPT_CTRL_FRAME; >> else >> rcr &= ~RCR_ACCEPT_CTRL_FRAME; >> >> - if (*total_flags & FIF_OTHER_BSS) { >> + if (*total_flags & FIF_OTHER_BSS) >> rcr |= RCR_ACCEPT_AP; >> - rcr &= ~RCR_CHECK_BSSID_MATCH; >> - } else { >> + else >> rcr &= ~RCR_ACCEPT_AP; >> - rcr |= RCR_CHECK_BSSID_MATCH; >> - } >> >> if (*total_flags & FIF_PSPOLL) >> rcr |= RCR_ACCEPT_PM; >> -- >> 2.30.2 >