qcacmn: Modify EIRP and PSD data types to int from uint
ACS fetches EIRP powers of channels from the regulatory module using API wlan_reg_get_eirp_pwr. The type returned by this API is unsigned and hence any negative value is received as very high positive value. This results in incorrect calculation of puncture bitmap and any other APIs that use these power values. To resolve this issue, modify the data type of EIRP and PSD variables from uint to int in APIs used for calculating the best power mode. Change-Id: I3af8e8bcda7cb872f8e295a78c579243a5469ab5 CRs-Fixed: 3515926
Dieser Commit ist enthalten in:

committet von
Rahul Choudhary

Ursprung
01da59899e
Commit
d4415c7efe
@@ -99,6 +99,8 @@
|
||||
/* no subchannels punctured */
|
||||
#define NO_SCHANS_PUNC 0x0000
|
||||
|
||||
#define REG_MIN_POWER -128
|
||||
|
||||
/**
|
||||
* enum dfs_reg - DFS region
|
||||
* @DFS_UNINIT_REGION: un-initialized region
|
||||
|
@@ -2697,12 +2697,12 @@ wlan_reg_get_best_pwr_mode(struct wlan_objmgr_pdev *pdev, qdf_freq_t freq,
|
||||
*
|
||||
* Return: EIRP power
|
||||
*/
|
||||
uint8_t wlan_reg_get_eirp_pwr(struct wlan_objmgr_pdev *pdev, qdf_freq_t freq,
|
||||
qdf_freq_t cen320, uint16_t bw,
|
||||
enum reg_6g_ap_type ap_pwr_type,
|
||||
uint16_t in_punc_pattern,
|
||||
bool is_client_list_lookup_needed,
|
||||
enum reg_6g_client_type client_type);
|
||||
int8_t wlan_reg_get_eirp_pwr(struct wlan_objmgr_pdev *pdev, qdf_freq_t freq,
|
||||
qdf_freq_t cen320, uint16_t bw,
|
||||
enum reg_6g_ap_type ap_pwr_type,
|
||||
uint16_t in_punc_pattern,
|
||||
bool is_client_list_lookup_needed,
|
||||
enum reg_6g_client_type client_type);
|
||||
#else
|
||||
static inline
|
||||
qdf_freq_t wlan_reg_get_thresh_priority_freq(struct wlan_objmgr_pdev *pdev)
|
||||
@@ -2735,7 +2735,7 @@ static inline QDF_STATUS wlan_reg_eirp_2_psd(struct wlan_objmgr_pdev *pdev,
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
static inline uint8_t
|
||||
static inline int8_t
|
||||
wlan_reg_get_eirp_pwr(struct wlan_objmgr_pdev *pdev,
|
||||
qdf_freq_t freq,
|
||||
qdf_freq_t cen320, uint16_t bw,
|
||||
|
@@ -1845,12 +1845,12 @@ wlan_reg_get_best_pwr_mode(struct wlan_objmgr_pdev *pdev, qdf_freq_t freq,
|
||||
|
||||
qdf_export_symbol(wlan_reg_get_best_pwr_mode);
|
||||
|
||||
uint8_t wlan_reg_get_eirp_pwr(struct wlan_objmgr_pdev *pdev, qdf_freq_t freq,
|
||||
qdf_freq_t cen320, uint16_t bw,
|
||||
enum reg_6g_ap_type ap_pwr_type,
|
||||
uint16_t in_punc_pattern,
|
||||
bool is_client_list_lookup_needed,
|
||||
enum reg_6g_client_type client_type)
|
||||
int8_t wlan_reg_get_eirp_pwr(struct wlan_objmgr_pdev *pdev, qdf_freq_t freq,
|
||||
qdf_freq_t cen320, uint16_t bw,
|
||||
enum reg_6g_ap_type ap_pwr_type,
|
||||
uint16_t in_punc_pattern,
|
||||
bool is_client_list_lookup_needed,
|
||||
enum reg_6g_client_type client_type)
|
||||
{
|
||||
return reg_get_eirp_pwr(pdev, freq, cen320, bw, ap_pwr_type,
|
||||
in_punc_pattern, is_client_list_lookup_needed,
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren