From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) (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 ED48A1A3172 for ; Tue, 28 Apr 2026 19:22:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.181 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777404171; cv=none; b=R/qU8Z10QiFXqdl00uiu9s3D+QUF4D4HXnMxqucXsy5s6A+eL0vZM62qFiTRwX3emiFeX07j2dw9nL38zgPQasIQo4ASqe40jHIJ5ez8ByQ0QKczKHYPPO0dExK/W7xBIZp2HT7A8Ole1hlDaYvQ35IYr8+BJBjMYLiwi3hVpNs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777404171; c=relaxed/simple; bh=DNmkoghZjVTctfRNGf+Fqmv94CgZfAtFChrcpbdwVYY=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=ObLkEnhFU6fNbvOsBgrIkcsRo4h/od33f+XJPA2sc7KZxrKAXQh9dBY4rnZehTVJqanrpQhGkjWE5Sp+C983l7fjFjMBwV1IEBXtxZGhG43fvn/qCqbxPsze6ggv25LDIIS75KXtS2y8QUnrGyUbaDTVpFZ65ybkUt6HK5/ZDD0= 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=XFHY6xEv; arc=none smtp.client-ip=209.85.214.181 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="XFHY6xEv" Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-2b23fcf90b2so112835425ad.3 for ; Tue, 28 Apr 2026 12:22:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777404169; x=1778008969; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=fRBTVtb7VHeglAHXqHrDRxqCIft9Mc07dM462EhUPT8=; b=XFHY6xEvgKOmwW3ABXCNSXVQzu1THXRjQim9MHIZ15C1M2OgmEzZmeAjaQeZj9qXwj dQrDSgtSj2CjlJgrjTl9yeeAP4PWZnopLuMuhegBmalh/mjr9hRM5I7YtcHHNOM7SrWk iNSfkphQ7v4sNgf3senvoU+wkI+dTGwbzk7QFCC74fkGt5bdj4SJPpa8X5itlEHtswRA RT6A6rPUtHoRIejNkJURki11Kki/KKGdkzS3GRDt/Pqu8DSF8xGa501fEXVTMwxNhJIR Vt9Dc1YrhwizYd85ltLBH4pnFzsp5x67oUv4unJumaAHjB3v6lBiu2y0zxWlixijU3Rv IXLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777404169; x=1778008969; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=fRBTVtb7VHeglAHXqHrDRxqCIft9Mc07dM462EhUPT8=; b=Uq7TaDjN7ITli44EldLJM59crm4qarUMtRziD0egWy7zRvOA+dv9ij3Z+j4eYuGayc 5cTPf7FDmrjNrj560fiGjIE+vbF2ttg4V1FeS6e+hBBQqv21d4qgqFc9hsKx4qi6LTgi tJkv+iqSVm7Tro5dys6Mg/IkX42okkLmz44bQXg4ufVK2vVySVSicniAGTEgXpqOrt+E 4x8zCiQv2tEpcJZhBq0ZazuZC+B1fReARC1JJuzvPeolW2JFS8tW+4xBmBOUG2IhKJBt t3XyeGf7OUt0RiMcfx2ZXIQiMM2W0piJ9xebdoHXTEz8z9YhljE82OoY5zJrMNIKnBFs mFtg== X-Forwarded-Encrypted: i=1; AFNElJ+el1eXoS7FDcmJGATxwAttXxKQk2pt1EwnxrQQM/exGSs6N1sZJqi0+W6s7A2s7iNvZ2pcc4lDCb5lKXE=@vger.kernel.org X-Gm-Message-State: AOJu0YyDRZKtAG/5ZRKfq8ytUgMuBLSGdsFcatSiE8/at9h1Fjh798J+ ZWjpwBxJuzBdQ5ohxepZc+ud4lxtO8C0Uacl0KlxOWzsexU2SERiLvLQ X-Gm-Gg: AeBDievhhJzvnfC1M44cGXT827iBKF2r7vLxamDYHJlaZH/ow01cRH8i6vEXHGT4M4t l7GWPVRvygKYecGOT8G0izqV0o6aODmgsV+keEWiYZNB0Bxw5vDzVbVIzZfNmfkZ69J+Dqs2983 ptkL/O3Ai4OYOqGVFpE3jn/4+9x/2ljb13lJ3IZgmMsloULUuxAaJT3qsXzYvnIeCIdpfjtah9X jb3S0nMd+Jas+YV5dGI+NrxScSmEJyS2vk6vTaEQpTRv/e/AhSKKVKlI6zIsmKz7geZoWBMl42F 5GB79aNZ0GNSyq6oMIHzD7mNXxRGog62FLUarWq8MXuOM/G/r20JsmGhVEMrPwHJxT1E+C8936k nhsiLNtCtNULMnB5E6KlY/zC7wEu6wCFqdiJ07B4Y4IgLoo60luHN9I3yiplL3dAU0IF0/hEhz6 aOB+f+zWndPNGcuoGXUNy0b6mQccoHBfwCwsnsHnyTWDwOVZ4k X-Received: by 2002:a17:902:f90d:b0:2b2:4ded:954e with SMTP id d9443c01a7336-2b97c4624f4mr28534005ad.24.1777404164217; Tue, 28 Apr 2026 12:22:44 -0700 (PDT) Received: from ideapad.. ([2401:4900:881c:789e:c457:196:87e5:7368]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c7fc29b1fd5sm3885467a12.9.2026.04.28.12.22.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Apr 2026 12:22:43 -0700 (PDT) From: Ankit Dange To: nbd@nbd.name, lorenzo@kernel.org, linux-wireless@vger.kernel.org Cc: ryder.lee@mediatek.com, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, ankitdange37@gmail.com Subject: [PATCH] wifi: mt76: mt7915: fix GENMASK for chain 3 RSSI in mt7915_mac_sta_poll() Date: Wed, 29 Apr 2026 00:52:28 +0530 Message-ID: <20260428192228.144654-1-ankitdange37@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The RCPI values of response frames are stored as four consecutive bytes in WTBL DW30. The bitmask for extracting chain 3 RCPI uses GENMASK(31, 14) which is an 18-bit field overlapping with chains 1 and 2. Fix it to GENMASK(31, 24) to correctly extract the 8-bit RCPI value for chain 3. On devices with fewer than 4 antenna chains this bug is masked because mt76_rx_signal() skips chains not present in antenna_mask. On 4x4 configurations the corrupted chain 3 value feeds into the combined ACK signal strength calculation. Tested on Yuncore AX820 (MT7915, 2x2) by reading raw DW30 register values and comparing FIELD_GET results for both masks. With GENMASK(31, 14), chain 3 produces garbage values (e.g., -112 dBm from a register value of 0xFFFF4248 where the correct result is +17, indicating an unused chain). No regression on 2x2 operation. Fixes: 94b335fa88e1 ("wifi: mt76: mt7915: add ack signal support") Signed-off-by: Ankit Dange --- mt7915/mac.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mt7915/mac.c b/mt7915/mac.c index b581d8f9..3d7d71ac 100644 --- a/mt7915/mac.c +++ b/mt7915/mac.c @@ -221,7 +221,7 @@ static void mt7915_mac_sta_poll(struct mt7915_dev *dev) rssi[0] = to_rssi(GENMASK(7, 0), val); rssi[1] = to_rssi(GENMASK(15, 8), val); rssi[2] = to_rssi(GENMASK(23, 16), val); - rssi[3] = to_rssi(GENMASK(31, 14), val); + rssi[3] = to_rssi(GENMASK(31, 24), val); msta->ack_signal = mt76_rx_signal(msta->vif->phy->mt76->antenna_mask, rssi); -- 2.43.0