+@@ -2998,14 +3114,20 @@ enum nl80211_bss_scan_width {
+ * @NL80211_BSS_BSSID: BSSID of the BSS (6 octets)
+ * @NL80211_BSS_FREQUENCY: frequency in MHz (u32)
+ * @NL80211_BSS_TSF: TSF of the received probe response/beacon (u64)
++ * (if @NL80211_BSS_PRESP_DATA is present then this is known to be
++ * from a probe response, otherwise it may be from the same beacon
++ * that the NL80211_BSS_BEACON_TSF will be from)
+ * @NL80211_BSS_BEACON_INTERVAL: beacon interval of the (I)BSS (u16)
+ * @NL80211_BSS_CAPABILITY: capability field (CPU order, u16)
+ * @NL80211_BSS_INFORMATION_ELEMENTS: binary attribute containing the
+ * raw information elements from the probe response/beacon (bin);
+- * if the %NL80211_BSS_BEACON_IES attribute is present, the IEs here are
+- * from a Probe Response frame; otherwise they are from a Beacon frame.
++ * if the %NL80211_BSS_BEACON_IES attribute is present and the data is
++ * different then the IEs here are from a Probe Response frame; otherwise
++ * they are from a Beacon frame.
+ * However, if the driver does not indicate the source of the IEs, these
+ * IEs may be from either frame subtype.
++ * If present, the @NL80211_BSS_PRESP_DATA attribute indicates that the
++ * data here is known to be from a probe response, without any heuristics.
+ * @NL80211_BSS_SIGNAL_MBM: signal strength of probe response/beacon
+ * in mBm (100 * dBm) (s32)
+ * @NL80211_BSS_SIGNAL_UNSPEC: signal strength of the probe response/beacon
+@@ -3017,6 +3139,10 @@ enum nl80211_bss_scan_width {
+ * yet been received
+ * @NL80211_BSS_CHAN_WIDTH: channel width of the control channel
+ * (u32, enum nl80211_bss_scan_width)
++ * @NL80211_BSS_BEACON_TSF: TSF of the last received beacon (u64)
++ * (not present if no beacon frame has been received yet)
++ * @NL80211_BSS_PRESP_DATA: the data in @NL80211_BSS_INFORMATION_ELEMENTS and
++ * @NL80211_BSS_TSF is known to be from a probe response (flag attribute)
+ * @__NL80211_BSS_AFTER_LAST: internal
+ * @NL80211_BSS_MAX: highest BSS attribute
+ */
+@@ -3034,6 +3160,8 @@ enum nl80211_bss {
+ NL80211_BSS_SEEN_MS_AGO,
+ NL80211_BSS_BEACON_IES,
+ NL80211_BSS_CHAN_WIDTH,
++ NL80211_BSS_BEACON_TSF,
++ NL80211_BSS_PRESP_DATA,
+
+ /* keep last */
+ __NL80211_BSS_AFTER_LAST,
+@@ -3650,6 +3778,8 @@ enum nl80211_iface_limit_attrs {