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 |
||
---|---|---|
.. | ||
inc | ||
src |