[PATCHv2 wireless-next] wifi: brcmsmac: use FAM for debug code
Rosen Penev <[email protected]> Mon, 9 Mar 2026 14:59:07 -0700
| 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]> --- v2: rebase and remove debug from member. .../broadcom/brcm80211/brcmsmac/mac80211_if.c | 15 +++++---------- .../broadcom/brcm80211/brcmsmac/mac80211_if.h | 4 +--- 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c index 6255d673d2d3..7912a999f6f7 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_flex(*t, name, strlen(name) + 1, GFP_ATOMIC); +#else t = kzalloc_obj(*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..3b25a56958b3 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.h @@ -42,9 +42,7 @@ struct brcms_timer { bool periodic; bool set; /* indicates if timer is active */ struct brcms_timer *next; /* for freeing on unload */ -#ifdef DEBUG - char *name; /* Description of the timer */ -#endif + char name[]; /* Description of the timer */ }; struct brcms_if { -- 2.53.0