Due to unknown legacy reason, the rates received by the driver from the firmware are currently divided by 500 to convert it into units of 500kbps. This division by 500 is later compensated by a multiplication with 5 to maintain units of 100kbps before being sent to the upper layer. This division and then subsequent multiplication results in the loss of precision (in the case the rate is not divisible by 5). Consequently, the rate being sent to the upper layer becomes inaccurate. Also the calculation of the MCS rate flags is affected. Do not carry out the unnecessary division and multiplication by 5. Instead just convert the rates into units of 100kbps (which is as mandated by the kernel) when driver receives the rate from the firmware. Change-Id: I05e67816651754e3b3e27b13dabc1d55b29251dd CRs-Fixed: 2378166 |
||
---|---|---|
.. | ||
inc | ||
src |