From 7c0e45d7fb4ca3f9505b316598f4c2d748f3e8d0 Mon Sep 17 00:00:00 2001 From: Arend van Spriel Date: Fri, 25 Feb 2011 16:39:23 +0100 Subject: [PATCH] staging: brcm80211: remove NULL pointer checks before calling kfree kfree function can handle NULL pointer as passed parameter so there is no need for the calling function to check for this before calling kfree. Reviewed-by: Roland Vossen Reviewed-by: Brett Rudley Signed-off-by: Arend van Spriel Signed-off-by: Greg Kroah-Hartman --- .../staging/brcm80211/brcmsmac/wlc_alloc.c | 85 ++++--------------- .../staging/brcm80211/brcmsmac/wlc_ampdu.c | 4 +- .../staging/brcm80211/brcmsmac/wlc_antsel.c | 3 - drivers/staging/brcm80211/brcmsmac/wlc_bmac.c | 6 +- .../staging/brcm80211/brcmsmac/wlc_channel.c | 3 +- .../staging/brcm80211/brcmsmac/wlc_phy_shim.c | 3 - 6 files changed, 19 insertions(+), 85 deletions(-) diff --git a/drivers/staging/brcm80211/brcmsmac/wlc_alloc.c b/drivers/staging/brcm80211/brcmsmac/wlc_alloc.c index 8d6e0ea5d046..fecafc3958e2 100644 --- a/drivers/staging/brcm80211/brcmsmac/wlc_alloc.c +++ b/drivers/staging/brcm80211/brcmsmac/wlc_alloc.c @@ -146,17 +146,8 @@ static void wlc_bsscfg_mfree(wlc_bsscfg_t *cfg) if (cfg == NULL) return; - if (cfg->maclist) { - kfree(cfg->maclist); - cfg->maclist = NULL; - } - - if (cfg->current_bss != NULL) { - wlc_bss_info_t *current_bss = cfg->current_bss; - kfree(current_bss); - cfg->current_bss = NULL; - } - + kfree(cfg->maclist); + kfree(cfg->current_bss); kfree(cfg); } @@ -310,65 +301,19 @@ void wlc_detach_mfree(struct wlc_info *wlc) if (wlc == NULL) return; - if (wlc->modulecb) { - kfree(wlc->modulecb); - wlc->modulecb = NULL; - } - - if (wlc->default_bss) { - kfree(wlc->default_bss); - wlc->default_bss = NULL; - } - if (wlc->cfg) { - wlc_bsscfg_mfree(osh, wlc->cfg); - wlc->cfg = NULL; - } - - if (wlc->pkt_callback && wlc->pub && wlc->pub->tunables) { - kfree(wlc->pkt_callback); - wlc->pkt_callback = NULL; - } - - if (wlc->wsec_def_keys[0]) - kfree(wlc->wsec_def_keys[0]); - if (wlc->protection) { - kfree(wlc->protection); - wlc->protection = NULL; - } - - if (wlc->stf) { - kfree(wlc->stf); - wlc->stf = NULL; - } - - if (wlc->bandstate[0]) - kfree(wlc->bandstate[0]); - - if (wlc->corestate) { - if (wlc->corestate->macstat_snapshot) { - kfree(wlc->corestate->macstat_snapshot); - wlc->corestate->macstat_snapshot = NULL; - } - kfree(wlc->corestate); - wlc->corestate = NULL; - } - - if (wlc->pub) { - /* free pub struct */ - wlc_pub_mfree(osh, wlc->pub); - wlc->pub = NULL; - } - - if (wlc->hw) { - if (wlc->hw->bandstate[0]) { - kfree(wlc->hw->bandstate[0]); - wlc->hw->bandstate[0] = NULL; - } - - /* free hw struct */ - kfree(wlc->hw); - wlc->hw = NULL; - } + wlc_bsscfg_mfree(wlc->cfg); + wlc_pub_mfree(wlc->pub); + kfree(wlc->modulecb); + kfree(wlc->default_bss); + kfree(wlc->pkt_callback); + kfree(wlc->wsec_def_keys[0]); + kfree(wlc->protection); + kfree(wlc->stf); + kfree(wlc->bandstate[0]); + kfree(wlc->corestate->macstat_snapshot); + kfree(wlc->corestate); + kfree(wlc->hw->bandstate[0]); + kfree(wlc->hw); /* free the wlc */ kfree(wlc); diff --git a/drivers/staging/brcm80211/brcmsmac/wlc_ampdu.c b/drivers/staging/brcm80211/brcmsmac/wlc_ampdu.c index eff174d0827b..19e22c8b2d9c 100644 --- a/drivers/staging/brcm80211/brcmsmac/wlc_ampdu.c +++ b/drivers/staging/brcm80211/brcmsmac/wlc_ampdu.c @@ -232,9 +232,7 @@ void wlc_ampdu_detach(struct ampdu_info *ampdu) /* free all ini's which were to be freed on callbacks which were never called */ for (i = 0; i < AMPDU_INI_FREE; i++) { - if (ampdu->ini_free[i]) { - kfree(ampdu->ini_free[i]); - } + kfree(ampdu->ini_free[i]); } wlc_module_unregister(ampdu->wlc->pub, "ampdu", ampdu); diff --git a/drivers/staging/brcm80211/brcmsmac/wlc_antsel.c b/drivers/staging/brcm80211/brcmsmac/wlc_antsel.c index 8c59898a418b..0a52989313ed 100644 --- a/drivers/staging/brcm80211/brcmsmac/wlc_antsel.c +++ b/drivers/staging/brcm80211/brcmsmac/wlc_antsel.c @@ -161,9 +161,6 @@ struct antsel_info *wlc_antsel_attach(struct wlc_info *wlc, void wlc_antsel_detach(struct antsel_info *asi) { - if (!asi) - return; - kfree(asi); } diff --git a/drivers/staging/brcm80211/brcmsmac/wlc_bmac.c b/drivers/staging/brcm80211/brcmsmac/wlc_bmac.c index 1a49c6e52e41..353f1ea3694c 100644 --- a/drivers/staging/brcm80211/brcmsmac/wlc_bmac.c +++ b/drivers/staging/brcm80211/brcmsmac/wlc_bmac.c @@ -1044,10 +1044,8 @@ int wlc_bmac_detach(struct wlc_info *wlc) wlc_phy_shim_detach(wlc_hw->physhim); /* free vars */ - if (wlc_hw->vars) { - kfree(wlc_hw->vars); - wlc_hw->vars = NULL; - } + kfree(wlc_hw->vars); + wlc_hw->vars = NULL; if (wlc_hw->sih) { si_detach(wlc_hw->sih); diff --git a/drivers/staging/brcm80211/brcmsmac/wlc_channel.c b/drivers/staging/brcm80211/brcmsmac/wlc_channel.c index 8e2a3848496c..71731a4618c6 100644 --- a/drivers/staging/brcm80211/brcmsmac/wlc_channel.c +++ b/drivers/staging/brcm80211/brcmsmac/wlc_channel.c @@ -683,8 +683,7 @@ wlc_cm_info_t *wlc_channel_mgr_attach(struct wlc_info *wlc) void wlc_channel_mgr_detach(wlc_cm_info_t *wlc_cm) { - if (wlc_cm) - kfree(wlc_cm); + kfree(wlc_cm); } u8 wlc_channel_locale_flags_in_band(wlc_cm_info_t *wlc_cm, uint bandunit) diff --git a/drivers/staging/brcm80211/brcmsmac/wlc_phy_shim.c b/drivers/staging/brcm80211/brcmsmac/wlc_phy_shim.c index fa3f73ffff17..95aafddcc95d 100644 --- a/drivers/staging/brcm80211/brcmsmac/wlc_phy_shim.c +++ b/drivers/staging/brcm80211/brcmsmac/wlc_phy_shim.c @@ -83,9 +83,6 @@ wlc_phy_shim_info_t *wlc_phy_shim_attach(struct wlc_hw_info *wlc_hw, void wlc_phy_shim_detach(wlc_phy_shim_info_t *physhim) { - if (!physhim) - return; - kfree(physhim); } -- 2.20.1