From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932371AbbJMPbF (ORCPT ); Tue, 13 Oct 2015 11:31:05 -0400 Received: from mail-lb0-f172.google.com ([209.85.217.172]:33624 "EHLO mail-lb0-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932084AbbJMPbD (ORCPT ); Tue, 13 Oct 2015 11:31:03 -0400 Subject: Re: [PATCH 2/3] staging: rtl8188eu: bugfix: correct channels range is set in Hal_ReadTxPowerInfo88E To: Greg Kroah-Hartman References: <20151010062700.GA22576@alpha.sfu-kras.ru> <20151013034723.GB6292@kroah.com> Cc: linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org From: Ivan Safonov Message-ID: <561D241D.5070600@gmail.com> Date: Tue, 13 Oct 2015 22:32:45 +0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <20151013034723.GB6292@kroah.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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?