mac80211_hwsim: Support boottime in scan results
authorJouni Malinen <j@w1.fi>
Fri, 1 Feb 2019 23:16:31 +0000 (01:16 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 5 Feb 2019 21:36:55 +0000 (22:36 +0100)
This makes the age information for cfg80211 scan results more accurate
and fixes issues with wpa_supplicant dropping "old" scan results (e.g.,
"wlan0: Own scan request started a scan in 0.000456 seconds") that
looked like would have been received before a scan started due to the
inaccuracy of the default timing mechanism for calculating the BSS entry
age. This makes hwsim test cases significantly more robust to run.

Signed-off-by: Jouni Malinen <j@w1.fi>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/mac80211_hwsim.c

index 320edca..87be2b1 100644 (file)
@@ -1273,10 +1273,12 @@ static bool mac80211_hwsim_tx_frame_no_nl(struct ieee80211_hw *hw,
         * probably doesn't really matter.
         */
        if (ieee80211_is_beacon(hdr->frame_control) ||
-           ieee80211_is_probe_resp(hdr->frame_control))
+           ieee80211_is_probe_resp(hdr->frame_control)) {
+               rx_status.boottime_ns = ktime_get_boot_ns();
                now = data->abs_bcn_ts;
-       else
+       } else {
                now = mac80211_hwsim_get_tsf_raw();
+       }
 
        /* Copy skb to all enabled radios that are on the current frequency */
        spin_lock(&hwsim_radio_lock);