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

Commit b530df3b authored by sheenam monga's avatar sheenam monga Committed by Gerrit - the friendly Code Review server
Browse files

qcacld-3.0: Don't send DS param IE for 6G band

Currently, host sends DS param to fw based on
channel number but channel number may be same
in case of 6G and 2G due to which IEs can be
included in case of 6G which is not required.

Fix is to send DS param based on freq to
avoid addition of IEs in case of 6G band.

Change-Id: Ib711731fda3cfb0117478e6b1e026f40639a7fbb
CRs-Fixed: 2942323
parent 5169d6ca
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -738,7 +738,7 @@ populate_dot11f_country(struct mac_context *mac,
/* Populated a populate_dot11f_ds_params */
QDF_STATUS
populate_dot11f_ds_params(struct mac_context *mac,
			tDot11fIEDSParams *pDot11f, uint8_t channel);
			tDot11fIEDSParams *pDot11f, qdf_freq_t freq);

/* / Populated a tDot11fIEEDCAParamSet */
void
+3 −3
Original line number Diff line number Diff line
@@ -268,7 +268,8 @@ lim_send_probe_req_mgmt_frame(struct mac_context *mac_ctx,
	 * RRM is enabled. It should be ok even if we add it into probe req when
	 * RRM is not enabled.
	 */
	populate_dot11f_ds_params(mac_ctx, &pr->DSParams, channel);
	populate_dot11f_ds_params(mac_ctx, &pr->DSParams,
				  chan_freq);
	/* Call RRM module to get the tx power for management used. */
	txPower = (uint8_t) rrm_get_mgmt_tx_power(mac_ctx, pesession);
	populate_dot11f_wfatpc(mac_ctx, &pr->WFATPC, txPower, 0);
@@ -652,8 +653,7 @@ lim_send_probe_rsp_mgmt_frame(struct mac_context *mac_ctx,

	populate_dot11f_ds_params(
		mac_ctx, &frm->DSParams,
		wlan_reg_freq_to_chan(mac_ctx->pdev,
				      pe_session->curr_op_freq));
		pe_session->curr_op_freq);

	if (LIM_IS_AP_ROLE(pe_session)) {
		if (pe_session->wps_state != SAP_WPS_DISABLED)
+1 −2
Original line number Diff line number Diff line
@@ -304,8 +304,7 @@ sch_set_fixed_beacon_fields(struct mac_context *mac_ctx, struct pe_session *sess
	populate_dot11f_supp_rates(mac_ctx, POPULATE_DOT11F_RATES_OPERATIONAL,
				   &bcn_1->SuppRates, session);
	populate_dot11f_ds_params(mac_ctx, &bcn_1->DSParams,
				  wlan_reg_freq_to_chan(
				  mac_ctx->pdev, session->curr_op_freq));
				  session->curr_op_freq);

	offset = sizeof(tAniBeaconStruct);
	ptr = session->pSchBeaconFrameBegin + offset;
+6 −4
Original line number Diff line number Diff line
@@ -689,7 +689,7 @@ populate_dot11f_country(struct mac_context *mac,
 * populate_dot11f_ds_params() - To populate DS IE params
 * mac_ctx: Pointer to global mac context
 * dot11f_param: pointer to DS params IE
 * channel: channel number
 * freq: freq
 *
 * This routine will populate DS param in management frame like
 * beacon, probe response, and etc.
@@ -698,11 +698,13 @@ populate_dot11f_country(struct mac_context *mac,
 */
QDF_STATUS
populate_dot11f_ds_params(struct mac_context *mac_ctx,
			  tDot11fIEDSParams *dot11f_param, uint8_t channel)
			  tDot11fIEDSParams *dot11f_param, qdf_freq_t freq)
{
	if (IS_24G_CH(channel)) {
	if (WLAN_REG_IS_24GHZ_CH_FREQ(freq)) {
		/* .11b/g mode PHY => Include the DS Parameter Set IE: */
		dot11f_param->curr_channel = channel;
		dot11f_param->curr_channel = wlan_reg_freq_to_chan(
								mac_ctx->pdev,
								freq);
		dot11f_param->present = 1;
	}