Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7c0e45d7 authored by Arend van Spriel's avatar Arend van Spriel Committed by Greg Kroah-Hartman
Browse files

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: default avatarRoland Vossen <rvossen@broadcom.com>
Reviewed-by: default avatarBrett Rudley <brudley@broadcom.com>
Signed-off-by: default avatarArend van Spriel <arend@broadcom.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 6cab9150
Loading
Loading
Loading
Loading
+15 −70
Original line number Diff line number Diff line
@@ -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->current_bss);
	kfree(cfg);
}

@@ -310,65 +301,19 @@ void wlc_detach_mfree(struct wlc_info *wlc)
	if (wlc == NULL)
		return;

	if (wlc->modulecb) {
	wlc_bsscfg_mfree(wlc->cfg);
	wlc_pub_mfree(wlc->pub);
	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;
	}

	/* free the wlc */
	kfree(wlc);
+1 −3
Original line number Diff line number Diff line
@@ -232,10 +232,8 @@ 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]);
	}
	}

	wlc_module_unregister(ampdu->wlc->pub, "ampdu", ampdu);
	kfree(ampdu);
+0 −3
Original line number Diff line number Diff line
@@ -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);
}

+2 −4
Original line number Diff line number Diff line
@@ -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;
	}

	if (wlc_hw->sih) {
		si_detach(wlc_hw->sih);
+1 −2
Original line number Diff line number Diff line
@@ -683,7 +683,6 @@ 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);
}

Loading