diff --git a/src/agent_tlv.c b/src/agent_tlv.c index d22fe4ef83a81115ecc1c7e5244035d4bbbc0946..7b12fe5e89d00fcea79b79b19e7c1303452af5d6 100644 --- a/src/agent_tlv.c +++ b/src/agent_tlv.c @@ -959,6 +959,15 @@ int agent_gen_cac_complete_report(struct agent *a, struct cmdu_buff *frm, uint8_ re->cac_request.report_failed_status = 0; re->cac_request.report_failed = false; num_radios++; + + if (re->cac_request.report_failed_status == CAC_COMP_REPORT_STATUS_TOO_BUSY && + timestamp_elapsed_sec(&re->cac_request.time) > 20 && + channel && + channel->dfs != WIFI_RADIO_OPCLASS_CHANNEL_DFS_CAC) { + /* CAC not started/aborted */ + memset(&re->cac_request, 0, sizeof(re->cac_request)); + } + continue; }