qcacld-3.0: Fix get sap connected sta info fcs counter always 0

Stats event from target might have several sub events, and some event
has no peer stats but have adv/ext2 peer stats.

Check ext/ext2 peer stats even no peer stats in
target_if_cp_stats_extract_peer_stats(). Fix copy adv stats size error
in tgt_mc_cp_stats_prepare_n_send_raw_station_stats(). Although
get_station_stats_cb and get_peer_stats_cb is union callbacks,
better to assign to get_station_stats_cb because it is for
TYPE_STATION_STATS.

Change-Id: I0bead0cbb8b549cc538ef4a7327f0a8303c90bd1
CRs-Fixed: 2801842
This commit is contained in:
Will Huang 2020-10-28 09:29:21 +08:00 • committed by snandini
commit d2ed1c50cb
3 changed files with 4 additions and 3 deletions

View file

@ -914,7 +914,7 @@ tgt_mc_cp_stats_prepare_n_send_raw_station_stats(struct wlan_objmgr_psoc *psoc,
info.num_peer_adv_stats = 1;
qdf_mem_copy(info.peer_adv_stats,
peer_mc_stats->adv_stats,
sizeof(peer_mc_stats->adv_stats));
sizeof(*peer_mc_stats->adv_stats));
}
wlan_cp_stats_peer_obj_unlock(peer_cp_stats_priv);

View file

@ -480,7 +480,7 @@ static QDF_STATUS target_if_cp_stats_extract_peer_stats(
/* Extract peer_stats */
if (!stats_param->num_peer_stats)
return QDF_STATUS_SUCCESS;
goto adv_stats;
ev->peer_stats = qdf_mem_malloc(sizeof(*ev->peer_stats) *
stats_param->num_peer_stats);
@ -507,6 +507,7 @@ static QDF_STATUS target_if_cp_stats_extract_peer_stats(
TGT_NOISE_FLOOR_DBM;
}
adv_stats:
target_if_cp_stats_extract_peer_extd_stats(wmi_hdl, stats_param, ev,
data);

View file

@ -897,7 +897,7 @@ wlan_cfg80211_mc_cp_stats_get_peer_stats(struct wlan_objmgr_vdev *vdev,
cookie = osif_request_cookie(request);
priv = osif_request_priv(request);
info.cookie = cookie;
info.u.get_peer_stats_cb = get_station_adv_stats_cb;
info.u.get_station_stats_cb = get_station_adv_stats_cb;
status = ucfg_mc_cp_stats_send_stats_request(vdev, TYPE_STATION_STATS,
&info);
if (QDF_IS_STATUS_ERROR(status)) {