mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-12 15:49:17 -04:00
qcacld-3.0: Fix nonsense Class A stats field names
The qcacld-3.0 driver inherited the tCsrGlobalClassAStatsInfo data structure from a prior version of the driver. This structure was based upon the WDI firmware API used by older generations of hardware, and this interface is not directly supported by the WMI interface used by current generations of firmware. However "glue" code was introduced which converts between the WMI data and this WDI-based representation. When the glue code was introduced there were some parameters which were supported by WDI but not WMI, and there were some parameters which were supported by WMI but not WDI. Rather than remove the fields for parameters not supported by WMI and add new fields for the parameters only supported by WMI, for some reason the existing WDI-only fields were repurposed. This fact is captured in WMA: /* rx_frag_cnt and promiscuous_rx_frag_cnt * parameter is currently not used. lets use the * same parameter to hold the nss value and mcs * rate flags */ classa_stats->rx_frag_cnt = node->nss; classa_stats->promiscuous_rx_frag_cnt = mcsRateFlags; And leads to nonsense code such as the following in HDD: nss = pAdapter->hdd_stats.ClassA_stat.rx_frag_cnt; rate_flags = pAdapter->hdd_stats.ClassA_stat.promiscuous_rx_frag_cnt; Rename these fields so that they match the data they hold, and remove other legacy fields which are unused. Change-Id: If04a8943ad90d796968c817ff5e634eec23c97f0 CRs-Fixed: 2021520
This commit is contained in:
parent
4374398a51
commit
ad0b2c642f
3 changed files with 6 additions and 16 deletions
|
|
@ -1834,13 +1834,12 @@ static int __wlan_hdd_cfg80211_get_station(struct wiphy *wiphy,
|
|||
/* convert to the UI units of 100kbps */
|
||||
myRate = pAdapter->hdd_stats.ClassA_stat.tx_rate * 5;
|
||||
if (!(rate_flags & eHAL_TX_RATE_LEGACY)) {
|
||||
nss = pAdapter->hdd_stats.ClassA_stat.rx_frag_cnt;
|
||||
nss = pAdapter->hdd_stats.ClassA_stat.nss;
|
||||
|
||||
if (eHDD_LINK_SPEED_REPORT_ACTUAL == pCfg->reportMaxLinkSpeed) {
|
||||
/* Get current rate flags if report actual */
|
||||
rate_flags =
|
||||
pAdapter->hdd_stats.ClassA_stat.
|
||||
promiscuous_rx_frag_cnt;
|
||||
pAdapter->hdd_stats.ClassA_stat.mcs_rate_flags;
|
||||
}
|
||||
|
||||
if (mcs_index == INVALID_MCS_IDX)
|
||||
|
|
|
|||
|
|
@ -1493,16 +1493,12 @@ typedef struct tagCsrSummaryStatsInfo {
|
|||
} tCsrSummaryStatsInfo;
|
||||
|
||||
typedef struct tagCsrGlobalClassAStatsInfo {
|
||||
uint32_t rx_frag_cnt;
|
||||
uint32_t promiscuous_rx_frag_cnt;
|
||||
/* uint32_t rx_fcs_err; */
|
||||
uint32_t rx_input_sensitivity;
|
||||
uint32_t nss;
|
||||
uint32_t max_pwr;
|
||||
/* uint32_t default_pwr; */
|
||||
uint32_t sync_fail_cnt;
|
||||
uint32_t tx_rate;
|
||||
/* mcs index for HT20 and HT40 rates */
|
||||
uint32_t mcs_index;
|
||||
uint32_t mcs_rate_flags;
|
||||
/* to diff between HT20 & HT40 rates;short & long guard interval */
|
||||
uint32_t tx_rate_flags;
|
||||
|
||||
|
|
|
|||
|
|
@ -1555,13 +1555,8 @@ static void wma_update_peer_stats(tp_wma_handle wma,
|
|||
wma_get_mcs_idx((peer_stats->peer_tx_rate /
|
||||
100), node->rate_flags,
|
||||
node->nss, &mcsRateFlags);
|
||||
/* rx_frag_cnt and promiscuous_rx_frag_cnt
|
||||
* parameter is currently not used. lets use the
|
||||
* same parameter to hold the nss value and mcs
|
||||
* rate flags */
|
||||
classa_stats->rx_frag_cnt = node->nss;
|
||||
classa_stats->promiscuous_rx_frag_cnt =
|
||||
mcsRateFlags;
|
||||
classa_stats->nss = node->nss;
|
||||
classa_stats->mcs_rate_flags = mcsRateFlags;
|
||||
}
|
||||
/* FW returns tx power in intervals of 0.5 dBm
|
||||
Convert it back to intervals of 1 dBm */
|
||||
|
|
|
|||
Loading…
Reference in a new issue