[PATCH wireless-next] wifi: brcmsmac: use FAM for debug code
Rosen Penev <[email protected]> Sun, 22 Feb 2026 19:05:39 -0800
| Newsgroups | dev.linux.lists.brcm80211,org.kernel.vger.linux-kernel,org.kernel.vger.linux-wireless |
|---|---|
| Message-ID | <[email protected]> |
Debug code requires a separate allocation to duplicate a string. A FAM allows properly sized allocation with a single kfree. Signed-off-by: Rosen Penev <[email protected]> --- .../broadcom/brcm80211/brcmsmac/mac80211_if.c | 15 +++++---------- .../broadcom/brcm80211/brcmsmac/mac80211_if.h | 2 +- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c index aadcff1e2b5d..87b636273b3f 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c @@ -317,9 +317,6 @@ static void brcms_free(struct brcms_info *wl) /* free timers */ for (t = wl->timers; t; t = next) { next = t->next; -#ifdef DEBUG - kfree(t->name); -#endif kfree(t); } } @@ -1499,7 +1496,11 @@ struct brcms_timer *brcms_init_timer(struct brcms_info *wl, { struct brcms_timer *t; +#ifdef DEBUG + t = kzalloc(struct_size(t, name, strlen(name) + 1), GFP_ATOMIC); +#else t = kzalloc(sizeof(*t), GFP_ATOMIC); +#endif if (!t) return NULL; @@ -1511,7 +1512,7 @@ struct brcms_timer *brcms_init_timer(struct brcms_info *wl, wl->timers = t; #ifdef DEBUG - t->name = kstrdup(name, GFP_ATOMIC); + strcpy(t->name, name); #endif return t; @@ -1574,9 +1575,6 @@ void brcms_free_timer(struct brcms_timer *t) if (wl->timers == t) { wl->timers = wl->timers->next; -#ifdef DEBUG - kfree(t->name); -#endif kfree(t); return; @@ -1586,9 +1584,6 @@ void brcms_free_timer(struct brcms_timer *t) while (tmp) { if (tmp->next == t) { tmp->next = t->next; -#ifdef DEBUG - kfree(t->name); -#endif kfree(t); return; } diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h index eaf926a96a88..8ef6d657e487 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h @@ -43,7 +43,7 @@ struct brcms_timer { bool set; /* indicates if timer is active */ struct brcms_timer *next; /* for freeing on unload */ #ifdef DEBUG - char *name; /* Description of the timer */ + char name[]; /* Description of the timer */ #endif }; -- 2.53.0