summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArend van Spriel <arend@broadcom.com>2012-06-21 15:49:13 +0200
committerJohn W. Linville <linville@tuxdriver.com>2012-06-22 14:44:05 -0400
commitc49aa4aa2bc89e88672dc419a293d7b8c1f094d2 (patch)
tree1aefb4775413baa7f981e1d104d55c794ae724c3
parent8dc01811da1119d6a5e595b5200b788c6603d3b2 (diff)
downloadblackbird-op-linux-c49aa4aa2bc89e88672dc419a293d7b8c1f094d2.tar.gz
blackbird-op-linux-c49aa4aa2bc89e88672dc419a293d7b8c1f094d2.zip
brcmsmac: fix NULL pointer crash in brcms_c_regd_init()
In the function brcms_c_regd_init() the channels are validated against the device capabilities. This is done for both 2.4G and 5G band, but there are devices that are 2.4G only, ie. BCM4313. For that device this leads to a NULL dereference. This patch adds a check in brcms_c_regd_init() to fix this. Issue introduced in wireless-next tree by following commit: cf03c5d brcm80211: smac: inform mac80211 of the X2 regulatory domain Cc: Seth Forshee <seth.forshee@canonical.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/brcm80211/brcmsmac/channel.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/channel.c b/drivers/net/wireless/brcm80211/brcmsmac/channel.c
index d3c726021c35..2d365d3486df 100644
--- a/drivers/net/wireless/brcm80211/brcmsmac/channel.c
+++ b/drivers/net/wireless/brcm80211/brcmsmac/channel.c
@@ -768,6 +768,11 @@ void brcms_c_regd_init(struct brcms_c_info *wlc)
band = wlc->bandstate[BAND_2G_INDEX];
else
band = wlc->bandstate[BAND_5G_INDEX];
+
+ /* skip if band not initialized */
+ if (band->pi == NULL)
+ continue;
+
wlc_phy_chanspec_band_validch(band->pi, band->bandtype,
&sup_chan);
OpenPOWER on IntegriCloud