From nobody Tue Apr 7 11:17:15 2026 Received: from mailgate02.uberspace.is (mailgate02.uberspace.is [185.26.156.114]) (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 53383175A8F for ; Fri, 13 Mar 2026 11:35:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.26.156.114 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773401706; cv=none; b=f/VfskipHwaVgQecusSMa863fDfuJJd1H34EIgIlF4UTkQy6PX74a0a/37hrs/7XVL7fzn9K/gWzY9TopE3GuNIGW5PaDePquKz0CiUsuYMmXgWhKGsYUfosPBE5cjxofcZouCHX7KkI7x540H+Hkuvdrn+zwYTWjr+bC55WpDE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773401706; c=relaxed/simple; bh=zV7neuLkSOIlzYViwAfwLRYPEUuyu/AOjQWX/yJqh5c=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=bbXzSsv+SamIXQhV9e79dZSq0oS+zZqu88FIOCFMpwWPKxya+HxFq3cmdqc0JELYYq7dPJfp3xIF2ngvM1uZCdNxfvSEvfYrgRjNqJDNx+xE8PIdm+pSZcpaqLp/j9zqmQL0vYab/0gUwYZzE4eAkE8kkdnllHoLrx1ZVTOLVwI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=david-bauer.net; spf=pass smtp.mailfrom=david-bauer.net; dkim=pass (4096-bit key) header.d=david-bauer.net header.i=@david-bauer.net header.b=p4GdMm6O; arc=none smtp.client-ip=185.26.156.114 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=david-bauer.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=david-bauer.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (4096-bit key) header.d=david-bauer.net header.i=@david-bauer.net header.b="p4GdMm6O" Received: from perseus.uberspace.de (perseus.uberspace.de [95.143.172.134]) by mailgate02.uberspace.is (Postfix) with ESMTPS id 0CB7C17F989 for ; Fri, 13 Mar 2026 12:25:15 +0100 (CET) Received: (qmail 12959 invoked by uid 988); 13 Mar 2026 11:25:14 -0000 Authentication-Results: perseus.uberspace.de; auth=pass (plain) Received: from unknown (HELO unkown) (::1) by perseus.uberspace.de (Haraka/3.1.1) with ESMTPSA; Fri, 13 Mar 2026 12:25:14 +0100 From: David Bauer To: Felix Fietkau , Lorenzo Bianconi , Ryder Lee , Shayne Chen , Sean Wang , Matthias Brugger , AngeloGioacchino Del Regno Cc: linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Subject: [PATCH mt76] wifi: mt76: mt7915: set mt76 specific PS flag Date: Fri, 13 Mar 2026 12:25:00 +0100 Message-ID: <20260313112502.2026974-1-mail@david-bauer.net> X-Mailer: git-send-email 2.51.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Rspamd-Bar: / X-Rspamd-Report: SUSPICIOUS_RECIPS(1.5) BAYES_HAM(-2.999991) MID_CONTAINS_FROM(1) MIME_GOOD(-0.1) R_MISSING_CHARSET(0.5) X-Rspamd-Score: -0.099991 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=david-bauer.net; s=uberspace; h=from:to:cc:subject:date; bh=zV7neuLkSOIlzYViwAfwLRYPEUuyu/AOjQWX/yJqh5c=; b=p4GdMm6OX8p1shu1IHk2C2EUFa/IUErWxQ39poHEQ6qhB1JV89F/6YstW2qr41yXeR7tO76Z1n QbrVXYQLeP+ViXsEQAe5xdidL81a4BSDQC7u2HQNGxG1SOpObTXwHbb9vRh9oy7sR7YL8trnTZTt Yf/WvESlH6FdUDAno6aeYfzLqq5L+EyWwHMk0j2wpSyFGTaoVXklM9ImPpp2waAmG9AvBLloCeVk 2hmQi3VqU3RJHujs+mX7/hGnt3JmrXs4V0bf5T432QhXd2uz3UHgF6tH9tuaFaMYFd+BMRwJ1GAU fl9f7yveIsotOybZL6E3CbnGXPGVHTp8EpH2J9KE29w4xKlIS/A+yyJLCkigdN0qdOehV2N80EiT FAsfU2jkqP8wsqB3+cUcWpUfIBm6uyu5TV81Fj3YTyBMijj7zCTlFtt/Zlza3hwCQRxu242OxV1+ g0UhYj5euxqqe6QpuHyBvsz9v6ea9tsK6F4UTEXwORvLXwQj/eul3C822xHO1ecqEbGQ1ohK6z1P Ajeq4A5rAZGvwSgco66kcVWf5b4uB/e97basxzAPo7Uz66arXjxfu+LObAZ7YOFncSyIibiWKo0x uaPZZ3ZSbgxEc2zc0peNTwlj3csPIONcN4IC2hdjeqVL9SJmx6CQB0yuaCch3aszEwzQaU14gSKD w= Content-Type: text/plain; charset="utf-8" mt76 tracks the PSM state of a sta internally with a wcid flag. TX to such clients is skipped based on the presence of this flag. This flag was not added to the PS state notify handler for MT7915 chips. Without this flag, mt76 queues pending frames to the hardware, accounting for airtime when a PSM notification is received while in a TX iteration. Set the PS flag for the STA WCID to prevent this from happening. TX gets skipped in presence of this flag. Signed-off-by: David Bauer --- drivers/net/wireless/mediatek/mt76/mt7915/mcu.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c b/drivers/net/= wireless/mediatek/mt76/mt7915/mcu.c index 51a52ed072eb4..0598bea29e498 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c +++ b/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c @@ -421,6 +421,11 @@ static void mt7915_mcu_rx_ps_sync(struct mt7915_dev *d= ev, struct sk_buff *skb) if (!sta) goto out; =20 + if (p->ps_bit) + set_bit(MT_WCID_FLAG_PS, &wcid->flags); + else + clear_bit(MT_WCID_FLAG_PS, &wcid->flags); + ieee80211_sta_ps_transition_ni(sta, !!p->ps_bit); =20 out: --=20 2.51.0