From: Jakub Sitnicki <jsitnicki@gmail.com>
To: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Larry.Finger@lwfinger.net, linux-wireless@vger.kernel.org
Subject: Re: rtlwifi: rtl8723be: Add new driver
Date: Mon, 19 Oct 2015 20:26:44 +0200 [thread overview]
Message-ID: <87eggqemu3.fsf@frog.home> (raw)
In-Reply-To: <20151019151045.GA12293@mwanda>
Hi Dan,
On Mon, Oct 19, 2015 at 05:10 PM CEST, Dan Carpenter <dan.carpenter@oracle.com> wrote:
> The patch a619d1abe20c: "rtlwifi: rtl8723be: Add new driver" from Feb
> 28, 2014, leads to the following static checker warning:
>
> drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c:1802 _rtl8723be_read_power_value_fromprom()
> warn: why is the last element skipped?
>
> drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
[snip]
> 1794 for (path = 0; path < MAX_RF_PATH; path++) {
> 1795 /*2.4G default value*/
> 1796 for (group = 0; group < MAX_CHNL_GROUP_24G; group++) {
> ^^^^^^^^^^^^^^^^^^^^^^^^^^
> Here we go to the end.
>
> 1797 pw2g->index_cck_base[path][group] = hwinfo[addr++];
> 1798 if (pw2g->index_cck_base[path][group] == 0xFF)
> 1799 pw2g->index_cck_base[path][group] = 0x2D;
> 1800
> 1801 }
> 1802 for (group = 0; group < MAX_CHNL_GROUP_24G - 1; group++) {
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Here we skip the last element. So far as I can see this looks like a
> mistake but I don't know the code well.
>
> 1803 pw2g->index_bw40_base[path][group] = hwinfo[addr++];
> 1804 if (pw2g->index_bw40_base[path][group] == 0xFF)
> 1805 pw2g->index_bw40_base[path][group] = 0x2D;
> 1806 }
I have seen the same thing in rtlwifi/rtl8188ee and staging/rtl8188eu
drivers (see read_power_value_fromprom() and
Hal_ReadPowerValueFromPROM_8188E(), respectively), and I've asked myself
exactly the same question before so I'll share my thoughts.
Please take it all with a grain of salt, I'm new at this.
The rtl8188e[eu] drivers divide 2.4 GHz channels into six sets
(MAX_CHNL_GROUP_24G == 6) as far as the TX power goes (see
_rtl88e_get_chnl_group(), Hal_GetChnlGroup88E()):
group 0: 1-2
group 1: 3-5
group 2: 6-8
group 3: 9-11
group 4: 12-13
group 5: 14
As you see the last group is special, it's only channel 14, which
applies only to 802.11b in Japan, AFAIK. The loop in question
initializes the index_bw40_base[] array, which name suggests that it is
related to 40 MHz channel bandwidth - 802.11n only then. That would
explain the `MAX_CHNL_GROUP_24G - 1' expression.
This is the case for rtl8188e[eu]. However, rtl8723be driver divides
2.4 GHz channels into just three groups - 0: 1-3, 1: 4-9, and 2: 10-14
(_rtl8723be_get_chnl_group()). In that regard it is similar to
rtlwifi/rtl8192cu and staging/rtl8723au (rtl92c_get_chnl_group(),
Hal_GetChnlGroup()).
That would mean that the index_bw40_base[3..5] range in this
one-size-fits all array is never accessed by the rtl8723be driver.
That's all I know, beyond that point I tell myself that it's a driver
for a chip with no datasheet so questions without answers are part of
the deal ;-)
Cheers,
Jakub
next prev parent reply other threads:[~2015-10-19 18:26 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-19 15:10 rtlwifi: rtl8723be: Add new driver Dan Carpenter
2015-10-19 18:26 ` Jakub Sitnicki [this message]
-- strict thread matches above, loose matches on Subject: below --
2014-03-06 21:54 Dan Carpenter
2014-03-09 6:00 ` Larry Finger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87eggqemu3.fsf@frog.home \
--to=jsitnicki@gmail.com \
--cc=Larry.Finger@lwfinger.net \
--cc=dan.carpenter@oracle.com \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.