summaryrefslogtreecommitdiff
path: root/drivers/staging/brcm80211
diff options
context:
space:
mode:
authorRoland Vossen <rvossen@broadcom.com>2011-03-10 11:35:07 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2011-03-14 11:44:02 -0700
commit8ada0be34014565dc4e57d1194d18594a5bcd161 (patch)
tree6958310b287f359b27b9c3e8fe81f570e1207da8 /drivers/staging/brcm80211
parent0bf97bb1cff7204111c479c899dae30823314761 (diff)
staging: brcm80211: bugfix for control.sta NULL ptr dereference
Mac80211 can transmit packets where the control.sta field is NULL. The driver dereferenced this. Bugfix was to only dereference a non NULL ieee80211_sta pointer. Signed-off-by: Roland Vossen <rvossen@broadcom.com> Reviewed-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/brcm80211')
-rw-r--r--drivers/staging/brcm80211/brcmsmac/wlc_main.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/staging/brcm80211/brcmsmac/wlc_main.c b/drivers/staging/brcm80211/brcmsmac/wlc_main.c
index cb1e1428cd87..8bee149f6316 100644
--- a/drivers/staging/brcm80211/brcmsmac/wlc_main.c
+++ b/drivers/staging/brcm80211/brcmsmac/wlc_main.c
@@ -6613,7 +6613,8 @@ wlc_dotxstatus(struct wlc_info *wlc, tx_status_t *txs, u32 frm_tx2)
tx_info = IEEE80211_SKB_CB(p);
h = (struct ieee80211_hdr *)((u8 *) (txh + 1) + D11_PHY_HDR_LEN);
- scb = (struct scb *)tx_info->control.sta->drv_priv;
+ if (tx_info->control.sta)
+ scb = (struct scb *)tx_info->control.sta->drv_priv;
if (N_ENAB(wlc->pub)) {
u8 *plcp = (u8 *) (txh + 1);