From nobody Wed Apr 1 08:16:43 2026 Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6ADBA27F754 for ; Tue, 31 Mar 2026 23:32:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774999978; cv=none; b=gP253h7GarguAW5D5pS1cCJ7hS+3crUF5Ok6jPfaS5eYCgTfhiD8hOjLAp9AvU3e94bJCGhSIPzkCl8xeFqws0Ncni9KFlKhcRj4XzRTiVKXu4oSoObsbOKhDcWtsJGRcb60cc3U3REj5UYNqNHvmJKIDswFKP0GKIsK5vy7a7Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774999978; c=relaxed/simple; bh=244mleRO43LNTUCWzp/ZKAnyfQyLqVy88A4aiCBlJ0Y=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=O6/xzvwIJiGDk7tFOEAnYY4/sMg6ERefsbEuPQTYSoeEmBhUbANpNmA6vp+m6NDuAs8h+SWidFkBif6sc8J4vf2YcCxsZElBL+d7MAA12/ruDU7TDS+MAiFa+3CrSIKGAP8mICye5yDniBXOlaVWl2Pg8e5PKuOvDtlGEX1tw3k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=V8FEI+xN; arc=none smtp.client-ip=209.85.216.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="V8FEI+xN" Received: by mail-pj1-f51.google.com with SMTP id 98e67ed59e1d1-358ed696623so2827907a91.0 for ; Tue, 31 Mar 2026 16:32:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1774999977; x=1775604777; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=adQV9YrsC4jfyVUOST6M3hgxRoSvm9YrFP3OZEy1JPc=; b=V8FEI+xNTR6Rnkosnz8GlXOo2jxM3dVT6vU6v9CAd21n1NlzHAOHFlJwn6BSlp7okA wFJuPMV0DtMuphxqx+qR0dPYARx4UM6zwddWLn3sGn5bwT+mkYRu/lD3b9wClpawXigv ObR0Lq63vztctpp6q/ipeVyiivQv10aw98RBnOUJtSP/kbea7SUBdXG9xx4YGew/by/U gfmNeLavOuHHADwGdFFkKU5L7E+VsbLXExigDcK53wtCQs48nr1uZ4TP4nHVkSLLmhMo qJR6QqGZC12674cgvb9cdHklbyWztj/cM1NNse3dTnVLq5j6HA81D10yir4WLQj3dllQ v34Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774999977; x=1775604777; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=adQV9YrsC4jfyVUOST6M3hgxRoSvm9YrFP3OZEy1JPc=; b=bf4rzQUxD+pOsR9pBYmd8V5uNoQlxGDy5eMlwzJ6flpLFp8FhhF06qdqa/NDSDuGT9 jvgtoRSVbyyFP9vPZzfir69KeqdNbI33iSIhDyCYN+dZn5tVoppG/qrtR0uN+Uu9q9+/ a1m8u4p+Vgje/u/LQJ4MPFPnXJAkcY7NJXoGXR4wTjIB0nu7cyVCmhkEWm4DjybwahgH vglN9/ZHPezzjP4A7P35yErlPGx8NAZIIzPQPuSYMCZ90R16EzoIW5m1NU0gUwJiuMtC HMFyV+XcwpAROlROsUdwNKFrFWBYoOlVV0aTGtQl/J0wgNuLG+G49ENpBz/8eOaaEmde AqdA== X-Forwarded-Encrypted: i=1; AJvYcCVSvr2pHkltZRfaV3kfYXcNdcxz3yr5KsQCJ9M5lSIC03jXLA5Nd2AzQItJyuvNDzAYJnxHLcOXMr53yPI=@vger.kernel.org X-Gm-Message-State: AOJu0Ywg9RVfGMR3uAp2RG4m8L6if5FyZZIcz5kRKojrgCkeTSP3eHkd pQoEZ8XPiIczEmUcqFfcWwaYCVXSLR1/iXB5sQGbyiWPnOKlcrP+nSbn X-Gm-Gg: ATEYQzwUQvzUThnbz/zBAoeNj8TBSNNkPJHG9udaCQKJ6RsbJPQyfIT3XsccQOP2UOq jWbp2QCRH3cebEIyEQ0keRMOYLW8WWpdDxAItFgCYZb7BGnz0dhLLOVj5r15Q0wzVv2xk/GpY7b CvB2TVZgfyzqTlbbMiAsRSGdmsUg9Zc4HYzeVoQWznhZ2vJ5Nsw8o15OUt36lIVcaYQgohVocJq hbbbwWwgmL0VFRx8jwtm5iMkUivfD2f/OXxIaxQxs0z9lBGwCtza7UeciYeUskJIoCcMwLZaWt9 gpZLMU750hXyXjb8QI6q38wwiUddT4YT4HWiyAmcV6JlqX7LEg5tuVLcIDP+A3ntrt6WRDfF+1u ciJZoEK65zNTCovnkQEYXknalOu6tBKjTGTOFi93m+e49JBRgBccSGzML/B3fTEma8tlMTdy+0B 9SqlYM1Oa1qjsL8XpgBviLvb49xq+uzdQrCCSBneCG7lPEkkVdPD2HCjc= X-Received: by 2002:a17:90b:4c:b0:35d:a62c:19de with SMTP id 98e67ed59e1d1-35dc6e7aabemr987113a91.1.1774999976654; Tue, 31 Mar 2026 16:32:56 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d::8bd]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-35dbe6d8682sm2775605a91.14.2026.03.31.16.32.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Mar 2026 16:32:56 -0700 (PDT) From: Rosen Penev To: linux-wireless@vger.kernel.org Cc: Arend van Spriel , brcm80211@lists.linux.dev (open list:BROADCOM BRCM80211 IEEE802.11 WIRELESS DRIVERS), brcm80211-dev-list.pdl@broadcom.com (open list:BROADCOM BRCM80211 IEEE802.11 WIRELESS DRIVERS), linux-kernel@vger.kernel.org (open list) Subject: [PATCH wireless-next] wifi: brcm80211: change current_bss to a FAM Date: Tue, 31 Mar 2026 16:32:38 -0700 Message-ID: <20260331233238.23527-1-rosenp@gmail.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Change to a single allocation with kzalloc_flex and remove some boilerplate. Done as a FAM instead of value to keep -> usage in codebase. Signed-off-by: Rosen Penev --- .../broadcom/brcm80211/brcmsmac/main.c | 32 ++----------------- .../broadcom/brcm80211/brcmsmac/main.h | 2 +- 2 files changed, 3 insertions(+), 31 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c b/driv= ers/net/wireless/broadcom/brcm80211/brcmsmac/main.c index c7eaf160e1fa..4f57d64b1dd3 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c @@ -418,21 +418,12 @@ static int brcms_chspec_bw(u16 chanspec) return BRCMS_10_MHZ; } -static void brcms_c_bsscfg_mfree(struct brcms_bss_cfg *cfg) -{ - if (cfg =3D=3D NULL) - return; - - kfree(cfg->current_bss); - kfree(cfg); -} - static void brcms_c_detach_mfree(struct brcms_c_info *wlc) { if (wlc =3D=3D NULL) return; - brcms_c_bsscfg_mfree(wlc->bsscfg); + kfree(wlc->bsscfg); kfree(wlc->pub); kfree(wlc->modulecb); kfree(wlc->default_bss); @@ -453,25 +444,6 @@ static void brcms_c_detach_mfree(struct brcms_c_info *= wlc) kfree(wlc); } -static struct brcms_bss_cfg *brcms_c_bsscfg_malloc(uint unit) -{ - struct brcms_bss_cfg *cfg; - - cfg =3D kzalloc_obj(*cfg, GFP_ATOMIC); - if (cfg =3D=3D NULL) - goto fail; - - cfg->current_bss =3D kzalloc_obj(*cfg->current_bss, GFP_ATOMIC); - if (cfg->current_bss =3D=3D NULL) - goto fail; - - return cfg; - - fail: - brcms_c_bsscfg_mfree(cfg); - return NULL; -} - static struct brcms_c_info * brcms_c_attach_malloc(uint unit, uint *err, uint devid) { @@ -527,7 +499,7 @@ brcms_c_attach_malloc(uint unit, uint *err, uint devid) goto fail; } - wlc->bsscfg =3D brcms_c_bsscfg_malloc(unit); + wlc->bsscfg =3D kzalloc_flex(*wlc->bsscfg, current_bss, 1, GFP_ATOMIC); if (wlc->bsscfg =3D=3D NULL) { *err =3D 1011; goto fail; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h b/driv= ers/net/wireless/broadcom/brcm80211/brcmsmac/main.h index b7ca0d9891c4..e9cbb95a5a17 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h @@ -614,7 +614,7 @@ struct brcms_bss_cfg { u8 SSID_len; u8 SSID[IEEE80211_MAX_SSID_LEN]; u8 BSSID[ETH_ALEN]; - struct brcms_bss_info *current_bss; + struct brcms_bss_info current_bss[]; }; int brcms_c_txfifo(struct brcms_c_info *wlc, uint fifo, struct sk_buff *p); -- 2.53.0