Replace the separately allocated module callback array with a directly embedded fixed-size array in struct brcms_c_info, removing one kzalloc()/kfree() pair and its OOM error path. Signed-off-by: Rosen Penev --- drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c | 8 -------- drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c index 3834f2da5aa7..ed022fd2613e 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c @@ -420,7 +420,6 @@ static void brcms_c_detach_mfree(struct brcms_c_info *wlc) kfree(wlc->bsscfg); kfree(wlc->pub); - kfree(wlc->modulecb); kfree(wlc->default_bss); kfree(wlc->protection); kfree(wlc->stf); @@ -464,13 +463,6 @@ brcms_c_attach_malloc(uint unit, uint *err, uint devid) } wlc->hw->wlc = wlc; - wlc->modulecb = - kzalloc_objs(struct modulecb, BRCMS_MAXMODULES, GFP_ATOMIC); - if (wlc->modulecb == NULL) { - *err = 1009; - goto fail; - } - wlc->default_bss = kzalloc_obj(*wlc->default_bss, GFP_ATOMIC); if (wlc->default_bss == NULL) { *err = 1010; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h index 425c867964e9..8af883e40876 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h @@ -517,7 +517,7 @@ struct brcms_c_info { struct brcms_bss_cfg *bsscfg; - struct modulecb *modulecb; + struct modulecb modulecb[BRCMS_MAXMODULES]; u8 mimoft; s8 cck_40txbw; -- 2.56.0