qcacmn: Extract band info from wmi_roam_neighbor_report_info
In API extract_roam_11kv_stats_tlv(), band info value is fetched from wmi_roam_scan_info. This results in failure during active mode when single tlv is sent for each event as wmi_roam_scan_info tlv is not populated for event expect for roam specific events. Extract band info from wmi_roam_neighbor_report_info tlv for neighbor report and BTM events in order to overcome the above mentioned issue. Change-Id: Ie53ec36ea1b788219b33f0956b489d5bbe0bb9b0 CRs-Fixed: 3631719
This commit is contained in:
@@ -910,15 +910,13 @@ wmi_unified_extract_roam_result_stats(wmi_unified_t wmi, void *evt_buf,
|
|||||||
* @dst: Pointer to destination structure to fill data
|
* @dst: Pointer to destination structure to fill data
|
||||||
* @idx: TLV id
|
* @idx: TLV id
|
||||||
* @rpt_idx: index of the current channel
|
* @rpt_idx: index of the current channel
|
||||||
* @band: Band of the link on which packet was transmitted/received.
|
|
||||||
*
|
*
|
||||||
* Return: QDF_STATUS
|
* Return: QDF_STATUS
|
||||||
*/
|
*/
|
||||||
QDF_STATUS
|
QDF_STATUS
|
||||||
wmi_unified_extract_roam_11kv_stats(wmi_unified_t wmi, void *evt_buf,
|
wmi_unified_extract_roam_11kv_stats(wmi_unified_t wmi, void *evt_buf,
|
||||||
struct wmi_neighbor_report_data *dst,
|
struct wmi_neighbor_report_data *dst,
|
||||||
uint8_t idx, uint8_t rpt_idx,
|
uint8_t idx, uint8_t rpt_idx);
|
||||||
uint8_t band);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* wmi_unified_vdev_create_send() - send VDEV create command to fw
|
* wmi_unified_vdev_create_send() - send VDEV create command to fw
|
||||||
|
@@ -2573,7 +2573,7 @@ QDF_STATUS
|
|||||||
(*extract_roam_11kv_stats)(wmi_unified_t wmi_handle,
|
(*extract_roam_11kv_stats)(wmi_unified_t wmi_handle,
|
||||||
void *evt_buf,
|
void *evt_buf,
|
||||||
struct wmi_neighbor_report_data *dst,
|
struct wmi_neighbor_report_data *dst,
|
||||||
uint8_t idx, uint8_t rpt_idx, uint8_t band);
|
uint8_t idx, uint8_t rpt_idx);
|
||||||
|
|
||||||
void (*wmi_pdev_id_conversion_enable)(wmi_unified_t wmi_handle,
|
void (*wmi_pdev_id_conversion_enable)(wmi_unified_t wmi_handle,
|
||||||
uint32_t *pdev_map,
|
uint32_t *pdev_map,
|
||||||
|
@@ -3712,11 +3712,11 @@ wmi_unified_extract_roam_result_stats(wmi_unified_t wmi, void *buf,
|
|||||||
QDF_STATUS
|
QDF_STATUS
|
||||||
wmi_unified_extract_roam_11kv_stats(wmi_unified_t wmi, void *evt_buf,
|
wmi_unified_extract_roam_11kv_stats(wmi_unified_t wmi, void *evt_buf,
|
||||||
struct wmi_neighbor_report_data *dst,
|
struct wmi_neighbor_report_data *dst,
|
||||||
uint8_t idx, uint8_t rpt_idx, uint8_t band)
|
uint8_t idx, uint8_t rpt_idx)
|
||||||
{
|
{
|
||||||
if (wmi->ops->extract_roam_11kv_stats)
|
if (wmi->ops->extract_roam_11kv_stats)
|
||||||
return wmi->ops->extract_roam_11kv_stats(wmi, evt_buf, dst, idx,
|
return wmi->ops->extract_roam_11kv_stats(wmi, evt_buf, dst, idx,
|
||||||
rpt_idx, band);
|
rpt_idx);
|
||||||
|
|
||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
}
|
}
|
||||||
|
@@ -20024,12 +20024,11 @@ extract_roam_result_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
|
|||||||
* @dst: Pointer to destination structure to fill data
|
* @dst: Pointer to destination structure to fill data
|
||||||
* @idx: TLV id
|
* @idx: TLV id
|
||||||
* @rpt_idx: Neighbor report Channel index
|
* @rpt_idx: Neighbor report Channel index
|
||||||
* @band: Band of the link on which packet is transmitted or received
|
|
||||||
*/
|
*/
|
||||||
static QDF_STATUS
|
static QDF_STATUS
|
||||||
extract_roam_11kv_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
|
extract_roam_11kv_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
|
||||||
struct wmi_neighbor_report_data *dst,
|
struct wmi_neighbor_report_data *dst,
|
||||||
uint8_t idx, uint8_t rpt_idx, uint8_t band)
|
uint8_t idx, uint8_t rpt_idx)
|
||||||
{
|
{
|
||||||
WMI_ROAM_STATS_EVENTID_param_tlvs *param_buf;
|
WMI_ROAM_STATS_EVENTID_param_tlvs *param_buf;
|
||||||
wmi_roam_neighbor_report_info *src_data = NULL;
|
wmi_roam_neighbor_report_info *src_data = NULL;
|
||||||
@@ -20060,7 +20059,8 @@ extract_roam_11kv_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
|
|||||||
dst->num_rpt =
|
dst->num_rpt =
|
||||||
WMI_ROAM_NEIGHBOR_REPORT_INFO_NUM_OF_NRIE_GET(src_data->neighbor_report_detail);
|
WMI_ROAM_NEIGHBOR_REPORT_INFO_NUM_OF_NRIE_GET(src_data->neighbor_report_detail);
|
||||||
|
|
||||||
dst->band = band;
|
dst->band =
|
||||||
|
WMI_ROAM_NEIGHBOR_REPORT_INFO_MLO_BAND_INFO_GET(src_data->neighbor_report_detail);
|
||||||
|
|
||||||
if (dst->band != WMI_MLO_BAND_NO_MLO)
|
if (dst->band != WMI_MLO_BAND_NO_MLO)
|
||||||
dst->is_mlo = true;
|
dst->is_mlo = true;
|
||||||
@@ -20159,7 +20159,7 @@ extract_roam_result_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
|
|||||||
static QDF_STATUS
|
static QDF_STATUS
|
||||||
extract_roam_11kv_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
|
extract_roam_11kv_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
|
||||||
struct wmi_neighbor_report_data *dst,
|
struct wmi_neighbor_report_data *dst,
|
||||||
uint8_t idx, uint8_t rpt_idx, uint8_t band)
|
uint8_t idx, uint8_t rpt_idx)
|
||||||
{
|
{
|
||||||
return QDF_STATUS_E_NOSUPPORT;
|
return QDF_STATUS_E_NOSUPPORT;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user