diff options
author | Hante Meuleman <meuleman@broadcom.com> | 2013-02-06 12:40:43 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-02-08 14:51:33 -0500 |
commit | 7ee296027871c15aee7e1e48c372f854a837cd36 (patch) | |
tree | 4ed0e6057d6221b34aad8532c241c5f4461aa025 /drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c | |
parent | 94889b1fb51ff6c81be2926890f29d0cfe150e75 (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.c | 20 |
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 | ||
4031 | static s32 | 4025 | static s32 |