Re: [PATCH 2/3] staging: rtl8188eu: bugfix: correct channels range is set in Hal_ReadTxPowerInfo88E

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/13/2015 10:47 AM, Greg Kroah-Hartman wrote:
On Sat, Oct 10, 2015 at 01:27:00PM +0700, Ivan Safonov wrote:
Correct channels range is 1..14 (numbering from 1) but not 0..13.

Have you tested this?

I have not tested it.

Why?

From condition

if (chnl <= 14) {
        bIn24G = true;

it shows that the highest number of channels at a frequency of 2.4 GHz is 14. And first comment tells us that only 2 channels has the numbers <3, which means that the numbering starts from 1:

static u8 Hal_GetChnlGroup88E(u8 chnl, u8 *pGroup)
{
    u8 bIn24G = true;

    if (chnl <= 14) {
        bIn24G = true;

        if (chnl < 3)            /*  Channel 1-2 */
            *pGroup = 0;
        else if (chnl < 6)        /*  Channel 3-5 */
            *pGroup = 1;
        else     if (chnl < 9)        /*  Channel 6-8 */
            *pGroup = 2;
        else if (chnl < 12)        /*  Channel 9-11 */
            *pGroup = 3;
        else if (chnl < 14)        /*  Channel 12-13 */
            *pGroup = 4;
        else if (chnl == 14)        /*  Channel 14 */
            *pGroup = 5;
    } else {
  ... // 5 GHz groups


Hal_ReadTxPowerInfo88E function raises questions in this location(->):

if (bIn24G) {
pHalData->Index24G_CCK_Base[rfPath][ch] = pwrInfo24G.IndexCCK_Base[rfPath][group];
->              if (ch == 14)
-> pHalData->Index24G_BW40_Base[rfPath][ch] = pwrInfo24G.IndexBW40_Base[rfPath][4];
->             else
-> pHalData->Index24G_BW40_Base[rfPath][ch] = pwrInfo24G.IndexBW40_Base[rfPath][group];
            }


If channel range is 0..(CHANNEL_MAX_NUMBER - 1) code is dead (CHANNEL_MAX_NUMBER = 14):

But if channel range is 1..14 will the right to remove branching if (ch == 14) in Hal_ReadTxPowerInfo88E, changing Hal_GetChnlGroup88E so that when chnl == 14 itreturned 4?
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux