Sfoglia il codice sorgente

qcacld-3.0: Update HE connection width correctly

Currently driver does not update HE connection width
correctly when it indicates about assoc indication from
lim to hdd. Which results in incorrect indication of chwidth
to hdd.

To address this issue update HE connection width correctly
from lim to hdd.

Change-Id: I9ccc4435dc621ed3698f944fd2821afd648f2d1a
CRs-Fixed: 3028799
Ashish Kumar Dhanotiya 3 anni fa
parent
commit
6e6c8ad277
1 ha cambiato i file con 12 aggiunte e 3 eliminazioni
  1. 12 3
      core/mac/src/pe/lim/lim_process_assoc_req_frame.c

+ 12 - 3
core/mac/src/pe/lim/lim_process_assoc_req_frame.c

@@ -2917,6 +2917,17 @@ lim_convert_channel_width_enum(enum phy_ch_width ch_width)
 	return eHT_CHANNEL_WIDTH_20MHZ;
 }
 
+static void lim_fill_assoc_ind_he_bw_info(tpLimMlmAssocInd assoc_ind,
+					  tpDphHashNode sta_ds,
+					  struct pe_session *session_entry)
+{
+	if (lim_is_sta_he_capable(sta_ds) &&
+	    lim_is_session_he_capable(session_entry)) {
+		assoc_ind->ch_width =
+			lim_convert_channel_width_enum(sta_ds->ch_width);
+	}
+}
+
 bool lim_fill_lim_assoc_ind_params(
 		tpLimMlmAssocInd assoc_ind,
 		struct mac_context *mac_ctx,
@@ -3142,9 +3153,7 @@ bool lim_fill_lim_assoc_ind_params(
 	assoc_ind->is_sae_authenticated =
 				assoc_req->is_sae_authenticated;
 	/* updates HE bandwidth in assoc indication */
-	if (wlan_reg_is_6ghz_chan_freq(session_entry->curr_op_freq))
-		assoc_ind->ch_width =
-			lim_convert_channel_width_enum(sta_ds->ch_width);
+	lim_fill_assoc_ind_he_bw_info(assoc_ind, sta_ds, session_entry);
 
 	vdev = session_entry->vdev;
 	if (!vdev)