static void wl1271_rx_status(struct wl1271 *wl,
                             struct wl1271_rx_descriptor *desc,
                             struct ieee80211_rx_status *status,
-                            u8 beacon)
+                            u8 beacon, u8 probe_rsp)
 {
        memset(status, 0, sizeof(struct ieee80211_rx_status));
 
                }
        }
 
+       if (beacon || probe_rsp)
+               status->boottime_ns = ktime_get_boot_ns();
+
        if (beacon)
                wlcore_set_pending_regdomain_ch(wl, (u16)desc->channel,
                                                status->band);
        if (ieee80211_is_data_present(hdr->frame_control))
                is_data = 1;
 
-       wl1271_rx_status(wl, desc, IEEE80211_SKB_RXCB(skb), beacon);
+       wl1271_rx_status(wl, desc, IEEE80211_SKB_RXCB(skb), beacon,
+                        ieee80211_is_probe_resp(hdr->frame_control));
        wlcore_hw_set_rx_csum(wl, desc, skb);
 
        seq_num = (le16_to_cpu(hdr->seq_ctrl) & IEEE80211_SCTL_SEQ) >> 4;