qcacld-3.0: Incorrect bssid value during Roam Result logging
In the cm_roam_result_info_event() api, for roam result the current AP bssid is sent instead of candidate AP. Correct this to send candidate AP bssid during roam result logging. Change-Id: I4b1d4634faa3fbf3e7b32af8c13d4b444d26c505 CRs-Fixed: 3237021
Este cometimento está contido em:

cometido por
Madan Koyyalamudi

ascendente
893081ff9e
cometimento
bcf0e588e7
@@ -5740,8 +5740,8 @@ void cm_roam_result_info_event(struct wlan_objmgr_psoc *psoc,
|
||||
struct wmi_roam_scan_data *scan_data,
|
||||
uint8_t vdev_id)
|
||||
{
|
||||
struct qdf_mac_addr bssid = {0};
|
||||
uint8_t i;
|
||||
struct qdf_mac_addr bssid = {0};
|
||||
bool ap_found_in_roam_scan = false, bmiss_skip_full_scan = false;
|
||||
bool roam_abort = (res->fail_reason == ROAM_FAIL_REASON_SYNC ||
|
||||
res->fail_reason == ROAM_FAIL_REASON_DISCONNECT ||
|
||||
@@ -5789,15 +5789,8 @@ void cm_roam_result_info_event(struct wlan_objmgr_psoc *psoc,
|
||||
for (i = 0; i < scan_data->num_ap; i++) {
|
||||
if (i >= MAX_ROAM_CANDIDATE_AP)
|
||||
break;
|
||||
|
||||
if (res->status == 0 &&
|
||||
scan_data->ap[i].type == WLAN_ROAM_SCAN_ROAMED_AP) {
|
||||
qdf_mem_copy(wlan_diag_event.diag_cmn.bssid,
|
||||
scan_data->ap[i].bssid.bytes,
|
||||
QDF_MAC_ADDR_SIZE);
|
||||
break;
|
||||
} else if (scan_data->ap[i].type ==
|
||||
WLAN_ROAM_SCAN_CURRENT_AP) {
|
||||
if (scan_data->ap[i].type ==
|
||||
WLAN_ROAM_SCAN_CURRENT_AP) {
|
||||
qdf_mem_copy(wlan_diag_event.diag_cmn.bssid,
|
||||
scan_data->ap[i].bssid.bytes,
|
||||
QDF_MAC_ADDR_SIZE);
|
||||
@@ -5806,6 +5799,12 @@ void cm_roam_result_info_event(struct wlan_objmgr_psoc *psoc,
|
||||
}
|
||||
}
|
||||
|
||||
if (!qdf_is_macaddr_zero(&res->fail_bssid)) {
|
||||
qdf_mem_copy(wlan_diag_event.diag_cmn.bssid,
|
||||
res->fail_bssid.bytes,
|
||||
QDF_MAC_ADDR_SIZE);
|
||||
}
|
||||
|
||||
WLAN_HOST_DIAG_EVENT_REPORT(&wlan_diag_event, EVENT_WLAN_ROAM_RESULT);
|
||||
qdf_mem_zero(&wlan_diag_event, sizeof(wlan_diag_event));
|
||||
|
||||
@@ -6027,8 +6026,8 @@ void cm_roam_result_info_event(struct wlan_objmgr_psoc *psoc,
|
||||
struct wmi_roam_scan_data *scan_data,
|
||||
uint8_t vdev_id)
|
||||
{
|
||||
struct wlan_log_record *log_record = NULL;
|
||||
struct qdf_mac_addr bssid = {0};
|
||||
struct wlan_log_record *log_record = NULL;
|
||||
uint8_t i;
|
||||
bool ap_found_in_roam_scan = false, bmiss_skip_full_scan = false;
|
||||
bool roam_abort = (res->fail_reason == ROAM_FAIL_REASON_SYNC ||
|
||||
@@ -6080,18 +6079,17 @@ void cm_roam_result_info_event(struct wlan_objmgr_psoc *psoc,
|
||||
if (i >= MAX_ROAM_CANDIDATE_AP)
|
||||
break;
|
||||
|
||||
if (res->status == 0 &&
|
||||
scan_data->ap[i].type == WLAN_ROAM_SCAN_ROAMED_AP) {
|
||||
log_record->bssid = scan_data->ap[i].bssid;
|
||||
break;
|
||||
} else if (scan_data->ap[i].type ==
|
||||
WLAN_ROAM_SCAN_CURRENT_AP) {
|
||||
if (scan_data->ap[i].type ==
|
||||
WLAN_ROAM_SCAN_CURRENT_AP) {
|
||||
log_record->bssid = scan_data->ap[i].bssid;
|
||||
bssid = scan_data->ap[i].bssid;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!qdf_is_macaddr_zero(&res->fail_bssid))
|
||||
log_record->bssid = res->fail_bssid;
|
||||
|
||||
wlan_connectivity_log_enqueue(log_record);
|
||||
qdf_mem_zero(log_record, sizeof(*log_record));
|
||||
|
||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador