rrm: include actual scan start time in report

This commit is contained in:
James Prestwood 2019-11-20 08:52:53 -08:00 committed by Denis Kenzior
parent 27af5b715e
commit ccfe369766
1 changed files with 9 additions and 2 deletions

View File

@ -109,6 +109,7 @@ struct rrm_beacon_req_info {
char ssid[33]; /* Request filtered by SSID */ char ssid[33]; /* Request filtered by SSID */
bool has_ssid; bool has_ssid;
uint32_t scan_id; uint32_t scan_id;
uint64_t scan_start_time;
}; };
/* Per-netdev state */ /* Per-netdev state */
@ -249,8 +250,7 @@ static size_t build_report_for_bss(struct rrm_beacon_req_info *beacon,
*to++ = beacon->oper_class; *to++ = beacon->oper_class;
*to++ = scan_freq_to_channel(bss->frequency, NULL); *to++ = scan_freq_to_channel(bss->frequency, NULL);
/* skip start time */ l_put_le64(beacon->scan_start_time, to);
memset(to, 0, 8);
to += 8; to += 8;
l_put_le16(beacon->duration, to); l_put_le16(beacon->duration, to);
to += 2; to += 2;
@ -390,11 +390,18 @@ static bool rrm_scan_results(int err, struct l_queue *bss_list, void *userdata)
static void rrm_scan_triggered(int err, void *userdata) static void rrm_scan_triggered(int err, void *userdata)
{ {
struct rrm_state *rrm = userdata; struct rrm_state *rrm = userdata;
struct rrm_beacon_req_info *beacon = l_container_of(rrm->pending,
struct rrm_beacon_req_info,
info);
if (err < 0) { if (err < 0) {
l_error("Could not start RRM scan"); l_error("Could not start RRM scan");
rrm_reject_measurement_request(rrm, REPORT_REJECT_INCAPABLE); rrm_reject_measurement_request(rrm, REPORT_REJECT_INCAPABLE);
return;
} }
beacon->scan_start_time = scan_get_triggered_time(rrm->wdev_id,
beacon->scan_id);
} }
static void rrm_handle_beacon_scan(struct rrm_state *rrm, static void rrm_handle_beacon_scan(struct rrm_state *rrm,