From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f179.google.com (mail-pf1-f179.google.com [209.85.210.179]) (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 7D8DA428485 for ; Thu, 11 Jun 2026 16:19:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.179 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781194799; cv=none; b=pvHauu7YBe/A06SYrRA8FZ1iXGSbzz7QCYJoVCOjr36Ok4LI9vU8w58bYUkMORs4l4nPV5nk0SUS6K+yxl9t86h094S5lBxQIzx5gouuVBDl0Xv/w4AG7ElyXMGqUgI/y6uaj4zQfzyyHtBtNRL0PnO9jEDJPn1k8tVX4ziWw0U= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781194799; c=relaxed/simple; bh=kaG5qyz7UM2ji9838UuP3ncG1zNanDsJ30nAadWGaGU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VLTKOMUnypJwsYNBVj7bAkAggnRff0kd2H7QhnYNix5+F1gLcRg45ZsE4HDuFfa2CNetK20p5oGKVuOpZjDES9KM7Ui4XyES3lTCPDCvf7BMpiCEnknaVgLT3U62IaYFsit8fPu4nEAIZq/7GqyG8x0Ouq3psQqlenrn62KguJU= 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=DT6bqm+x; arc=none smtp.client-ip=209.85.210.179 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="DT6bqm+x" Received: by mail-pf1-f179.google.com with SMTP id d2e1a72fcca58-842848fd613so83528b3a.3 for ; Thu, 11 Jun 2026 09:19:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781194798; x=1781799598; 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=ozfYwTRjguWwldkipZcumrs2T+DMse6/l34PtGviF+8=; b=DT6bqm+xpm1DQ1SoXwSy4yFQ9QbVt1pKWrNGgUShln/5TWgWFaXgznC7Kys9BYoe57 Xznbo1EHH15pPbIyVCobDzOm1E036J2+xR07gBJNUomR1nifX2FQLqc+dfUwvJGwimwV pAUVghNVPSiWvpZ2j+wvcC6jfaW756FtwNzoD26Rq49qdniKcgDljOCUEyEMTJA+k6zu r+77wEKnMcWgdpUPS2q61A4OPMHPy+Q3Cqu/DayycWcYQQlrmlQrMZHlw271+N9nZ1iX fRnSaqnulksSIkCJAlGGWjhSTI91SsUsVnX5PUoAzTZoVRSjt5v0ba9+fR1+gamGUmLf ALNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781194798; x=1781799598; 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=ozfYwTRjguWwldkipZcumrs2T+DMse6/l34PtGviF+8=; b=WAfYB6TQDIJRn5MHYbg0NCmlIEXr+LAqda5toWRdTIERwbzRcKUkOq0tTJllj34udP +YJ/LgCJIkpGxZZ5qfQqE0YnJrMOwZ5Z7ZdU5xrat33QLG9JGrkLrLaprCuIbdkeKvXn vDIOf3DTHJMxvUxrDtCP3d5F+Xcu3MHGdzoDQYrpddffdz/AcakARfPGz0HJtbArTiJ6 xWxVYDpIFBrR366Xoaj/e3ugwDAn6UV3vxLyYq2oggjfs3DydU9f1eb4PJjfMSuMR5CN Lrv70DStfusuk57UI3Ow0Fg90+Wy3hdIE5TARars9L/9aulqog/c7C0YThiRr8g6+fAH YN9Q== X-Forwarded-Encrypted: i=1; AFNElJ8tcRfrVyCFvx0Z8lHE3vgvWqE14KA7kOUydXh36IFYVAxPZ0Nf85aj30H2wZIoDPaNB7tVDEzsJAAuesQ=@vger.kernel.org X-Gm-Message-State: AOJu0YzNYZmFnqwQ+PXy2zUVqAfLmeSFH1E9rYjCTwk06udb57Y8Scqa oZv+k3VyVUzhRm2PfjwcRyLAGOrDGJE3us9Xs93kBK0mBKOAcan0VnrY X-Gm-Gg: Acq92OHAj6+tP2LTpWRDYldPb9vd6cIitVeKafrEW1DzT3zxbf/YR3QM7mAqfI8m/zp 1pQuoWOSrIL1ANCerrvc7WaLEP9hLxYlT0ayESCT1fhn4IpH/v4VH6d3jclIVYazY1gwwwUpGlo rz+qAIF9MqPgOKuE2pg3yJd03vKHU3vTOo/sYZS+HZDeqW0f9Tztm/q2pXzx47ca/14mSgzC8aT ZRr4cC5qQS4PWfLhD2ipxQGKZLEZg+j6GXSkdpnFZEbMN5QFsDIBRofk3d4cFo9JbIlH5TFSyaB kHflpMGeQN5oMM0HfaTB++QtczXF1BLKhHS45YihGZeN6Lp0RrYLCPrAuNvsyLq5bOfJE2J1R1a 9hpjhchSEcQxwd6iZQczMnoUuQkSAKTffow2J8j9kDvl9a/t/McB6frFNAQTODSarB1OR7p4RVG 5aEOXczQwouFte0cWtuEFh5IUfFyFzUtPdLKrwtqKVStysw2YX9G8wxk7pB/VeEV8= X-Received: by 2002:a05:6a20:da12:b0:39b:89e0:2e37 with SMTP id adf61e73a8af0-3b5e31d9e1dmr4203682637.14.1781194797751; Thu, 11 Jun 2026 09:19:57 -0700 (PDT) Received: from KRHW1CJW23.bytedance.net ([139.177.225.254]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c865881640bsm2871231a12.26.2026.06.11.09.19.54 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 11 Jun 2026 09:19:57 -0700 (PDT) From: Zhao Li To: Johannes Berg Cc: Thomas Pedersen , linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, Zhao Li , stable@vger.kernel.org Subject: [PATCH v2 2/2] wifi: cfg80211: derive S1G beacon TSF from S1G fields Date: Fri, 12 Jun 2026 00:19:46 +0800 Message-ID: <20260611161943.91069-6-enderaoelyther@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260611161943.91069-4-enderaoelyther@gmail.com> References: <20260610162700.58722-1-enderaoelyther@gmail.com> <20260611161943.91069-4-enderaoelyther@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit cfg80211_inform_bss_frame_data() parses S1G beacons with the extension frame layout, but still reads the TSF from the regular probe response layout after the S1G branch. For S1G beacons that reads bytes at the regular management-frame timestamp offset instead of the S1G timestamp. Use the 32-bit S1G beacon timestamp and the S1G Beacon Compatibility element's TSF completion field when informing an S1G BSS. Keep the regular management-frame timestamp read in the non-S1G branch. Fixes: 9eaffe5078ca ("cfg80211: convert S1G beacon to scan results") Cc: stable@vger.kernel.org Signed-off-by: Zhao Li --- net/wireless/scan.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/net/wireless/scan.c b/net/wireless/scan.c index 27a56ee2e8f0b..c90619eeb03b1 100644 --- a/net/wireless/scan.c +++ b/net/wireless/scan.c @@ -3309,14 +3309,15 @@ cfg80211_inform_bss_frame_data(struct wiphy *wiphy, bssid = ext->u.s1g_beacon.sa; capability = le16_to_cpu(compat->compat_info); beacon_interval = le16_to_cpu(compat->beacon_int); + tsf = le32_to_cpu(ext->u.s1g_beacon.timestamp); + tsf |= (u64)le32_to_cpu(compat->tsf_completion) << 32; } else { bssid = mgmt->bssid; beacon_interval = le16_to_cpu(mgmt->u.probe_resp.beacon_int); capability = le16_to_cpu(mgmt->u.probe_resp.capab_info); + tsf = le64_to_cpu(mgmt->u.probe_resp.timestamp); } - tsf = le64_to_cpu(mgmt->u.probe_resp.timestamp); - if (ieee80211_is_probe_resp(mgmt->frame_control)) ftype = CFG80211_BSS_FTYPE_PRESP; else if (ext) -- 2.50.1 (Apple Git-155)