From: Seth Forshee <seth.forshee@canonical.com>
To: Arend van Spriel <arend@broadcom.com>
Cc: "John W. Linville" <linville@tuxdriver.com>,
Linux Wireless List <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH] brcmsmac: fix NULL pointer crash in brcms_c_regd_init()
Date: Tue, 26 Jun 2012 14:38:44 -0500 [thread overview]
Message-ID: <20120626193844.GA20509@thinkpad-t410> (raw)
In-Reply-To: <4FE984F9.2060502@broadcom.com>
On Tue, Jun 26, 2012 at 11:46:33AM +0200, Arend van Spriel wrote:
> > This looks fine, but it strikes me that it might simplify things a bit
> > to change the loop to iterate over over wlc->pub->_nbands instead. The
> > difference is pretty minor though, and since John has already applied
> > this patch there's probably no reason to change it.
>
> I considered that but the iterator is used as index in the wiphy.band[]
> array further in the loop. So that would require a bit more rework of
> the loop
It's really not that bad though. I pasted an (untested) patch below.
But like I said before, the difference is pretty minor so I'm okay with
either.
> (although the internal band index and the one from cfg80211 match).
While this is true, I wouldn't want to build that assumption into the
code. Maybe there should be macros to map between the internal and
cfg80211 band indices.
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/channel.c b/drivers/net/wireless/brcm80211/brcmsmac/channel.c
index 2d365d3..2c10bbe 100644
--- a/drivers/net/wireless/brcm80211/brcmsmac/channel.c
+++ b/drivers/net/wireless/brcm80211/brcmsmac/channel.c
@@ -760,23 +760,17 @@ void brcms_c_regd_init(struct brcms_c_info *wlc)
struct ieee80211_channel *ch;
struct brcms_chanvec sup_chan;
struct brcms_band *band;
- int band_idx, i;
+ uint band_idx, i;
/* Disable any channels not supported by the phy */
- for (band_idx = 0; band_idx < IEEE80211_NUM_BANDS; band_idx++) {
- if (band_idx == IEEE80211_BAND_2GHZ)
- band = wlc->bandstate[BAND_2G_INDEX];
- else
- band = wlc->bandstate[BAND_5G_INDEX];
-
- /* skip if band not initialized */
- if (band->pi == NULL)
- continue;
+ for (band_idx = 0; band_idx < wlc->pub->_nbands; band_idx++) {
+ band = wlc->bandstate[band_idx];
+ sband = wiphy->bands[band_idx == BAND_2G_INDEX ?
+ IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ];
wlc_phy_chanspec_band_validch(band->pi, band->bandtype,
&sup_chan);
- sband = wiphy->bands[band_idx];
for (i = 0; i < sband->n_channels; i++) {
ch = &sband->channels[i];
if (!isset(sup_chan.vec, ch->hw_value))
prev parent reply other threads:[~2012-06-26 19:38 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-21 13:49 [PATCH] brcmsmac: fix NULL pointer crash in brcms_c_regd_init() Arend van Spriel
2012-06-25 16:53 ` Seth Forshee
2012-06-26 9:46 ` Arend van Spriel
2012-06-26 19:38 ` Seth Forshee [this message]
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=20120626193844.GA20509@thinkpad-t410 \
--to=seth.forshee@canonical.com \
--cc=arend@broadcom.com \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
/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.