[PATCH wireless-next 6/7] wifi: brcmsmac: embed brcms_core in brcms_c_info
From: Rosen Penev
Date: Tue Nov 10 2026 - 23:27:44 EST
There is only one struct brcms_core and it has the same lifetime as
struct brcms_c_info. Embed it directly instead of allocating it
separately, removing one kzalloc()/kfree() pair and its OOM error path.
Signed-off-by: Rosen Penev <rosenp@xxxxxxxxx>
---
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c | 9 +--------
drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h | 2 +-
2 files changed, 2 insertions(+), 9 deletions(-)
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
index bd1880e3738f..8c3048082fbb 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c
@@ -421,7 +421,6 @@ static void brcms_c_detach_mfree(struct brcms_c_info *wlc)
kfree(wlc->bsscfg);
kfree(wlc->pub);
kfree(wlc->stf);
- kfree(wlc->corestate);
kfree(wlc->hw);
if (wlc->beacon)
dev_kfree_skb_any(wlc->beacon);
@@ -471,12 +470,6 @@ brcms_c_attach_malloc(uint unit, uint *err, uint devid)
goto fail;
}
- wlc->corestate = kzalloc_obj(*wlc->corestate, GFP_ATOMIC);
- if (wlc->corestate == NULL) {
- *err = 1026;
- goto fail;
- }
-
return wlc;
fail:
@@ -7808,7 +7801,7 @@ brcms_c_attach(struct brcms_info *wl, struct bcma_device *core, uint unit,
pub = wlc->pub;
wlc->band = &wlc->bandstate[0];
- wlc->core = wlc->corestate;
+ wlc->core = &wlc->corestate;
wlc->wl = wl;
pub->unit = unit;
pub->_piomode = piomode;
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h
index 266fe7825042..72720b9f9b35 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h
@@ -470,7 +470,7 @@ struct brcms_c_info {
/* multiband */
struct brcms_core *core;
struct brcms_band *band;
- struct brcms_core *corestate;
+ struct brcms_core corestate;
struct brcms_band bandstate[MAXBANDS];
/* packet queue */
--
2.56.0