소스 검색

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 년 전
부모
커밋
6e6c8ad277
1개의 변경된 파일12개의 추가작업 그리고 3개의 파일을 삭제
  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)