Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 01063e96 authored by Sheenam Monga's avatar Sheenam Monga
Browse files

qcacld-3.0: Add TPC Report in probe response

Currently, TPCReport IE is populated for beacon2 but
is not populated for probe response. As per Table 9-34
TPC report should be present in probe response.

Fix is to populate TPC Report IE for probe response from
beacon2.

Change-Id: I1b384ef71ca99e0144374885cafcd864375a3b58
CRs-Fixed: 3128799
parent 6224598b
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved.
 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
 *
 * Permission to use, copy, modify, and/or distribute this software for
 * any purpose with or without fee is hereby granted, provided that the
@@ -49,6 +50,7 @@
#include "sme_trace.h"
#include "rrm_api.h"
#include "qdf_crypto.h"
#include "parser_api.h"

#include "wma_types.h"
#include <cdp_txrx_cmn.h>
@@ -633,6 +635,7 @@ lim_send_probe_rsp_mgmt_frame(struct mac_context *mac_ctx,
	populate_dot11f_ssid(mac_ctx, (tSirMacSSid *) ssid, &frm->SSID);
	populate_dot11f_supp_rates(mac_ctx, POPULATE_DOT11F_RATES_OPERATIONAL,
		&frm->SuppRates, pe_session);
	populate_dot11f_tpc_report(mac_ctx, &frm->TPCReport, pe_session);

	populate_dot11f_ds_params(
		mac_ctx, &frm->DSParams,
+10 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2012-2020 The Linux Foundation. All rights reserved.
 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
 *
 * Permission to use, copy, modify, and/or distribute this software for
 * any purpose with or without fee is hereby granted, provided that the
@@ -211,6 +212,7 @@ static void sch_get_csa_ecsa_count_offset(uint8_t *ie, uint32_t ie_len,
		offset += elem_len;
		ptr += (elem_len + 2);
	}

}

/**
@@ -912,6 +914,14 @@ void lim_update_probe_rsp_template_ie_bitmap_beacon2(struct mac_context *mac,
			     sizeof(beacon2->he_6ghz_band_cap));
	}

	if (beacon2->TPCReport.present) {
		set_probe_rsp_ie_bitmap(DefProbeRspIeBitmap,
					WLAN_ELEMID_TPCREP);
		qdf_mem_copy((void *)&prb_rsp->TPCReport,
			     (void *)&beacon2->TPCReport,
			     sizeof(beacon2->TPCReport));
	}

}

void set_probe_rsp_ie_bitmap(uint32_t *IeBitmap, uint32_t pos)