Просмотр исходного кода

qcacld-3.0: Fix MLO connection failure

MLO AP is operating in US country code and channel
information in RNR is based on US domain.
MLO sta failed to get the channel frequency using the
RNR information because driver trying to get the channel
frequency from world domain where the AP is operating
in US domain.

Modified regulatory API parameters to obtain channel
frequency irrespective of the operating domain.

Removed 6 GHz HE capability from assoc request when the
association in 5 GHz band.

Change-Id: I278968c4019b55d8326de88a46b7669b0879e4e7
CRs-Fixed: 3187041
Sandeep Puligilla 2 лет назад
Родитель
Сommit
68fb0369f8

+ 1 - 1
core/mac/src/pe/lim/lim_send_sme_rsp_messages.c

@@ -438,7 +438,7 @@ static void lim_copy_ml_partner_info(struct cm_vdev_join_rsp *rsp,
 		if (chan) {
 			rsp_partner_info->partner_link_info[i].chan_freq =
 				wlan_reg_chan_opclass_to_freq(chan, op_class,
-							      true);
+							      false);
 		} else {
 			pe_debug("Failed to get channel info for link ID:%d",
 				 link_id);

+ 4 - 2
core/mac/src/sys/legacy/src/utils/src/parser_api.c

@@ -10223,7 +10223,7 @@ QDF_STATUS populate_dot11f_assoc_req_mlo_ie(struct mac_context *mac_ctx,
 			continue;
 		}
 		chan_freq = wlan_reg_chan_opclass_to_freq(chan, op_class,
-							  true);
+							  false);
 		if (WLAN_REG_IS_24GHZ_CH_FREQ(chan_freq)) {
 			wlan_populate_basic_rates(&b_rates, false, true);
 			wlan_populate_basic_rates(&e_rates, true, false);
@@ -10324,7 +10324,9 @@ QDF_STATUS populate_dot11f_assoc_req_mlo_ie(struct mac_context *mac_ctx,
 						WLAN_EXTN_ELEMID_HECAP;
 		}
 
-		populate_dot11f_he_6ghz_cap(mac_ctx, NULL, &he_6ghz_band_cap);
+		if (WLAN_REG_IS_6GHZ_CHAN_FREQ(chan_freq))
+			populate_dot11f_he_6ghz_cap(mac_ctx, NULL,
+						    &he_6ghz_band_cap);
 		if ((he_6ghz_band_cap.present &&
 		     frm->he_6ghz_band_cap.present &&
 		     qdf_mem_cmp(&he_6ghz_band_cap, &frm->he_6ghz_band_cap,