public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2/3] staging: rtl8188eu: bugfix: correct channels range is set in Hal_ReadTxPowerInfo88E
@ 2015-10-10  6:27 Ivan Safonov
  2015-10-13  3:47 ` Greg Kroah-Hartman
  0 siblings, 1 reply; 3+ messages in thread
From: Ivan Safonov @ 2015-10-10  6:27 UTC (permalink / raw)
  To: linux-kernel; +Cc: devel, Greg Kroah-Hartman, Ivan Safonov

Correct channels range is 1..14 (numbering from 1) but not 0..13.

Signed-off-by: Ivan Safonov <insafonov@gmail.com>
---
 drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c b/drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c
index 4fa2c78..46e0fdd 100644
--- a/drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c
+++ b/drivers/staging/rtl8188eu/hal/rtl8188e_hal_init.c
@@ -481,18 +481,18 @@ void Hal_ReadTxPowerInfo88E(struct adapter *padapter, u8 *PROMContent, bool Auto
 		pHalData->bTXPowerDataReadFromEEPORM = true;
 
 	for (rfPath = 0; rfPath < pHalData->NumTotalRFPath; rfPath++) {
-		for (ch = 0; ch < CHANNEL_MAX_NUMBER; ch++) {
+		for (ch = 1; ch <= CHANNEL_MAX_NUMBER; ch++) {
 			group = get_channel_group(ch);
 
-			pHalData->Index24G_CCK_Base[rfPath][ch] = pwrInfo24G.IndexCCK_Base[rfPath][group];
+			pHalData->Index24G_CCK_Base[rfPath][ch - 1] = pwrInfo24G.IndexCCK_Base[rfPath][group];
 			if (ch == 14)
-				pHalData->Index24G_BW40_Base[rfPath][ch] = pwrInfo24G.IndexBW40_Base[rfPath][4];
+				pHalData->Index24G_BW40_Base[rfPath][ch - 1] = pwrInfo24G.IndexBW40_Base[rfPath][4];
 			else
-				pHalData->Index24G_BW40_Base[rfPath][ch] = pwrInfo24G.IndexBW40_Base[rfPath][group];
+				pHalData->Index24G_BW40_Base[rfPath][ch - 1] = pwrInfo24G.IndexBW40_Base[rfPath][group];
 
 			DBG_88E("======= Path %d, Channel %d =======\n", rfPath, ch);
-			DBG_88E("Index24G_CCK_Base[%d][%d] = 0x%x\n", rfPath, ch, pHalData->Index24G_CCK_Base[rfPath][ch]);
-			DBG_88E("Index24G_BW40_Base[%d][%d] = 0x%x\n", rfPath, ch, pHalData->Index24G_BW40_Base[rfPath][ch]);
+			DBG_88E("Index24G_CCK_Base[%d][%d] = 0x%x\n", rfPath, ch, pHalData->Index24G_CCK_Base[rfPath][ch - 1]);
+			DBG_88E("Index24G_BW40_Base[%d][%d] = 0x%x\n", rfPath, ch, pHalData->Index24G_BW40_Base[rfPath][ch - 1]);
 		}
 		for (TxCount = 0; TxCount < MAX_TX_COUNT; TxCount++) {
 			pHalData->CCK_24G_Diff[rfPath][TxCount] = pwrInfo24G.CCK_Diff[rfPath][TxCount];
-- 
2.4.9


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 2/3] staging: rtl8188eu: bugfix: correct channels range is set in Hal_ReadTxPowerInfo88E
  2015-10-10  6:27 [PATCH 2/3] staging: rtl8188eu: bugfix: correct channels range is set in Hal_ReadTxPowerInfo88E Ivan Safonov
@ 2015-10-13  3:47 ` Greg Kroah-Hartman
  2015-10-13 15:32   ` Ivan Safonov
  0 siblings, 1 reply; 3+ messages in thread
From: Greg Kroah-Hartman @ 2015-10-13  3:47 UTC (permalink / raw)
  To: Ivan Safonov; +Cc: linux-kernel, devel

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.

Why?  Have you tested this?

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 2/3] staging: rtl8188eu: bugfix: correct channels range is set in Hal_ReadTxPowerInfo88E
  2015-10-13  3:47 ` Greg Kroah-Hartman
@ 2015-10-13 15:32   ` Ivan Safonov
  0 siblings, 0 replies; 3+ messages in thread
From: Ivan Safonov @ 2015-10-13 15:32 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-kernel, devel

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?

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-10-13 15:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-10  6:27 [PATCH 2/3] staging: rtl8188eu: bugfix: correct channels range is set in Hal_ReadTxPowerInfo88E Ivan Safonov
2015-10-13  3:47 ` Greg Kroah-Hartman
2015-10-13 15:32   ` Ivan Safonov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox