aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
diff options
context:
space:
mode:
authorHante Meuleman <meuleman@broadcom.com>2013-02-06 12:40:43 -0500
committerJohn W. Linville <linville@tuxdriver.com>2013-02-08 14:51:33 -0500
commit7ee296027871c15aee7e1e48c372f854a837cd36 (patch)
tree4ed0e6057d6221b34aad8532c241c5f4461aa025 /drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
parent94889b1fb51ff6c81be2926890f29d0cfe150e75 (diff)
brcmfmac: Cleanup function brcmf_notifiy_connect_status_ap.
Clean up function, removing some unnecessary code and initialisation. Reviewed-by: Arend Van Spriel <arend@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Piotr Haber <phaber@broadcom.com> Signed-off-by: Hante Meuleman <meuleman@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c')
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c20
1 files changed, 7 insertions, 13 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
index 0f170cb83c54..544257a52779 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c
@@ -3994,38 +3994,32 @@ brcmf_notify_connect_status_ap(struct brcmf_cfg80211_info *cfg,
3994 struct net_device *ndev, 3994 struct net_device *ndev,
3995 const struct brcmf_event_msg *e, void *data) 3995 const struct brcmf_event_msg *e, void *data)
3996{ 3996{
3997 s32 err = 0; 3997 static int generation;
3998 u32 event = e->event_code; 3998 u32 event = e->event_code;
3999 u32 reason = e->reason; 3999 u32 reason = e->reason;
4000 u32 len = e->datalen;
4001 static int generation;
4002
4003 struct station_info sinfo; 4000 struct station_info sinfo;
4004 4001
4005 brcmf_dbg(CONN, "event %d, reason %d\n", event, reason); 4002 brcmf_dbg(CONN, "event %d, reason %d\n", event, reason);
4006 memset(&sinfo, 0, sizeof(sinfo));
4007 4003
4008 sinfo.filled = 0;
4009 if (((event == BRCMF_E_ASSOC_IND) || (event == BRCMF_E_REASSOC_IND)) && 4004 if (((event == BRCMF_E_ASSOC_IND) || (event == BRCMF_E_REASSOC_IND)) &&
4010 reason == BRCMF_E_STATUS_SUCCESS) { 4005 (reason == BRCMF_E_STATUS_SUCCESS)) {
4006 memset(&sinfo, 0, sizeof(sinfo));
4011 sinfo.filled = STATION_INFO_ASSOC_REQ_IES; 4007 sinfo.filled = STATION_INFO_ASSOC_REQ_IES;
4012 if (!data) { 4008 if (!data) {
4013 brcmf_err("No IEs present in ASSOC/REASSOC_IND"); 4009 brcmf_err("No IEs present in ASSOC/REASSOC_IND");
4014 return -EINVAL; 4010 return -EINVAL;
4015 } 4011 }
4016 sinfo.assoc_req_ies = data; 4012 sinfo.assoc_req_ies = data;
4017 sinfo.assoc_req_ies_len = len; 4013 sinfo.assoc_req_ies_len = e->datalen;
4018 generation++; 4014 generation++;
4019 sinfo.generation = generation; 4015 sinfo.generation = generation;
4020 cfg80211_new_sta(ndev, e->addr, &sinfo, GFP_ATOMIC); 4016 cfg80211_new_sta(ndev, e->addr, &sinfo, GFP_KERNEL);
4021 } else if ((event == BRCMF_E_DISASSOC_IND) || 4017 } else if ((event == BRCMF_E_DISASSOC_IND) ||
4022 (event == BRCMF_E_DEAUTH_IND) || 4018 (event == BRCMF_E_DEAUTH_IND) ||
4023 (event == BRCMF_E_DEAUTH)) { 4019 (event == BRCMF_E_DEAUTH)) {
4024 generation++; 4020 cfg80211_del_sta(ndev, e->addr, GFP_KERNEL);
4025 sinfo.generation = generation;
4026 cfg80211_del_sta(ndev, e->addr, GFP_ATOMIC);
4027 } 4021 }
4028 return err; 4022 return 0;
4029} 4023}
4030 4024
4031static s32 4025static s32