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

Commit 4915b5f7 authored by Sheenam Monga's avatar Sheenam Monga Committed by Madan Koyyalamudi
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 269d8022
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2011-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
@@ -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>
@@ -650,6 +652,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,
+9 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2012-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
@@ -939,6 +940,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)