Эх сурвалжийг харах

qcacmn: Fix build error when enable AFC from MCL

&p_range->lowfreq, 'reg_assign_vars_with_range_vals' from incompatible
pointer type.
'low_limit_enum', 'high_limit_enum' may be used uninitialized.
'reg_is_val_within_range' defined but not used.

Change-Id: Id5ff2e0fa18555e4d27e955e6508bd23da280aff
CRs-Fixed: 3153499
Will Huang 3 жил өмнө
parent
commit
56579a6a5a

+ 6 - 4
umac/regulatory/core/src/reg_build_chan_list.c

@@ -3855,12 +3855,13 @@ static QDF_STATUS reg_process_cfi_chan_list(
  */
  */
 static void reg_find_low_limit_chan_enum_for_6g(
 static void reg_find_low_limit_chan_enum_for_6g(
 		struct regulatory_channel *chan_list, qdf_freq_t low_freq,
 		struct regulatory_channel *chan_list, qdf_freq_t low_freq,
-		uint32_t *channel_enum)
+		enum channel_enum *channel_enum)
 {
 {
 	enum channel_enum chan_enum;
 	enum channel_enum chan_enum;
 	uint16_t min_bw, max_bw, left_edge_of_min_band, left_edge_of_max_band;
 	uint16_t min_bw, max_bw, left_edge_of_min_band, left_edge_of_max_band;
 	qdf_freq_t center_freq;
 	qdf_freq_t center_freq;
 
 
+	*channel_enum = 0;
 	for (chan_enum = 0; chan_enum < NUM_6GHZ_CHANNELS; chan_enum++) {
 	for (chan_enum = 0; chan_enum < NUM_6GHZ_CHANNELS; chan_enum++) {
 		min_bw = chan_list[chan_enum].min_bw;
 		min_bw = chan_list[chan_enum].min_bw;
 		max_bw = chan_list[chan_enum].max_bw;
 		max_bw = chan_list[chan_enum].max_bw;
@@ -3894,12 +3895,13 @@ static void reg_find_low_limit_chan_enum_for_6g(
 static void reg_find_high_limit_chan_enum_for_6g(
 static void reg_find_high_limit_chan_enum_for_6g(
 		struct regulatory_channel *chan_list,
 		struct regulatory_channel *chan_list,
 		qdf_freq_t high_freq,
 		qdf_freq_t high_freq,
-		uint32_t *high_limit)
+		enum channel_enum *channel_enum)
 {
 {
 	enum channel_enum chan_enum;
 	enum channel_enum chan_enum;
 	uint16_t min_bw, max_bw, right_edge_of_min_band, right_edge_of_max_band;
 	uint16_t min_bw, max_bw, right_edge_of_min_band, right_edge_of_max_band;
 	qdf_freq_t center_freq;
 	qdf_freq_t center_freq;
 
 
+	*channel_enum = 0;
 	for (chan_enum = NUM_6GHZ_CHANNELS - 1; chan_enum >= 0; chan_enum--) {
 	for (chan_enum = NUM_6GHZ_CHANNELS - 1; chan_enum >= 0; chan_enum--) {
 		min_bw = chan_list[chan_enum].min_bw;
 		min_bw = chan_list[chan_enum].min_bw;
 		max_bw = chan_list[chan_enum].max_bw;
 		max_bw = chan_list[chan_enum].max_bw;
@@ -3916,7 +3918,7 @@ static void reg_find_high_limit_chan_enum_for_6g(
 					max_bw = min_bw;
 					max_bw = min_bw;
 				chan_list[chan_enum].max_bw = max_bw;
 				chan_list[chan_enum].max_bw = max_bw;
 			}
 			}
-			*high_limit = chan_enum;
+			*channel_enum = chan_enum;
 			break;
 			break;
 		}
 		}
 
 
@@ -3969,7 +3971,7 @@ static QDF_STATUS reg_fill_max_psd_in_afc_chan_list(
 
 
 	for (i = 0; i < power_info->num_freq_objs; i++) {
 	for (i = 0; i < power_info->num_freq_objs; i++) {
 		struct afc_freq_obj *freq_obj = &power_info->afc_freq_info[i];
 		struct afc_freq_obj *freq_obj = &power_info->afc_freq_info[i];
-		uint32_t low_limit_enum, high_limit_enum;
+		enum channel_enum low_limit_enum, high_limit_enum;
 		uint8_t j;
 		uint8_t j;
 
 
 		reg_find_low_limit_chan_enum_for_6g(afc_chan_list,
 		reg_find_low_limit_chan_enum_for_6g(afc_chan_list,

+ 0 - 12
umac/regulatory/core/src/reg_opclass.c

@@ -743,18 +743,6 @@ static void reg_dmn_fill_6g_opcls_chan_lists(struct wlan_objmgr_pdev *pdev,
 	}
 	}
 }
 }
 
 
-static bool reg_is_val_within_range(qdf_freq_t val,
-				    qdf_freq_t left,
-				    qdf_freq_t right)
-{
-	bool is_within = false;
-
-	if (val >= left && val <= right)
-		is_within = true;
-
-	return is_within;
-}
-
 QDF_STATUS reg_dmn_get_6g_opclasses_and_channels(struct wlan_objmgr_pdev *pdev,
 QDF_STATUS reg_dmn_get_6g_opclasses_and_channels(struct wlan_objmgr_pdev *pdev,
 						 struct wlan_afc_frange_list *p_frange_lst,
 						 struct wlan_afc_frange_list *p_frange_lst,
 						 uint8_t *num_opclasses,
 						 uint8_t *num_opclasses,

+ 4 - 3
umac/regulatory/core/src/reg_services_common.c

@@ -6773,14 +6773,15 @@ static void reg_afc_get_intersected_ranges(struct freq_range *rule_fr,
 {
 {
 	struct wlan_afc_freq_range_obj *p_range;
 	struct wlan_afc_freq_range_obj *p_range;
 	struct wlan_afc_freq_range_obj **pp_range;
 	struct wlan_afc_freq_range_obj **pp_range;
+	qdf_freq_t low, high;
 
 
 	pp_range = (struct wlan_afc_freq_range_obj **)arg;
 	pp_range = (struct wlan_afc_freq_range_obj **)arg;
 	p_range = *pp_range;
 	p_range = *pp_range;
 
 
 	if (!reg_is_empty_range(rule_fr)) {
 	if (!reg_is_empty_range(rule_fr)) {
-		reg_assign_vars_with_range_vals(rule_fr,
-						&p_range->lowfreq,
-						&p_range->highfreq);
+		reg_assign_vars_with_range_vals(rule_fr, &low, &high);
+		p_range->lowfreq = (uint16_t)low;
+		p_range->highfreq = (uint16_t)high;
 		reg_debug("Range = [%u, %u]", p_range->lowfreq, p_range->highfreq);
 		reg_debug("Range = [%u, %u]", p_range->lowfreq, p_range->highfreq);
 		(*pp_range)++;
 		(*pp_range)++;
 	}
 	}