From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.173]) (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 A1EA633A6F7 for ; Mon, 8 Jun 2026 05:29:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.173 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780896554; cv=none; b=DuAJKqvUZGP+u1WU+YQsP/H29KmGT21DuM92YuswrQuBdYnR7u0yjOfKo0btRWHRpI9SJS6aULViovpPp458LDdBW4bwOj9gzxl7v3VpaR1biaC8IUQtRnUpha67gMQnSgsLmfufLkqITBBtDtyQ+DFu8IsYJvsHdxRSSbiENY8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780896554; c=relaxed/simple; bh=sn1Da+qab2ghu45yZQ1NL+qe/wKBTFTs4DdzaUey6UM=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=k14r8m4kPbOzi3B7KHKput27+i8B6s8Wtj9MDLIhHnb+2hIdpX5ePQNl9efN794Iph9tpPDnglkcLt9fkBzH4eSssob49N3XdkKL17+C2PNlIFP1hLLpymcHLQR2/mZsmoR05eiS8afObBlSNiDnK4XNudmHI1TtxwFfwLfPI+I= 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=Em5Zj5EO; arc=none smtp.client-ip=209.85.215.173 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="Em5Zj5EO" Received: by mail-pg1-f173.google.com with SMTP id 41be03b00d2f7-c8585ecdd71so1291078a12.0 for ; Sun, 07 Jun 2026 22:29:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780896552; x=1781501352; 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=dTm+lQvzMCNToRs7ARjdaJ4x4SDnep7jgjKlP4xAmow=; b=Em5Zj5EOLsCk/0Kstii8635VMFBTHfMg46CBtdF5K8p73APGUYG9MCXRfNcrn/8zZR D2Fx5Q1BU2fRjz9PTRAIIA6eM7nC5lzPYM+ZrYosUhBh8UaFXwnjLz8HQC0idv5wSXLg sEdLiX/BIW2MKE3elQolku35etuL5cELshAAzWO0pL9JcfKHoku7EmmgJbMc/QvcGFCJ x83oZw+MqZOBPxMs0Bz8DU9ThW/6FotaazBNwwb61jGg0KEdjXjVBrgxXPseSTlYLgvm ofd8wf/h4IvUv2NmrPpAluHmqjDMaRMk0TJgHXRb5OIeIA3CV9Aav9baScQVZdHYcuEM Z/1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780896552; x=1781501352; 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=dTm+lQvzMCNToRs7ARjdaJ4x4SDnep7jgjKlP4xAmow=; b=TKKL1jvpxRAwPTlOumpnajmS4N+YxZT3kUjYIt+7AZ1fNS58uiQzOnlQdEOdkWdRgg 4c3TYNqkgzx3ZE8+S0atdEefGtK93nRpRejTSQrDB+9+pFvz9szTuWY3hLHfc6Rdg7iy xCPRZtpAbdtZFmWczm9xL6TU5hXqwGbwaNsS8zAE4WKF5EXHewf0WzSCvuD2U3pbs2VQ vSiYlkcWFntnYbVjFfrDQCrX5IVI2tZJzSJjc6M+/6JJZZUYs0/noWViDRUapFuDsVCg Kp60hSsJSnQA3hYZHVtN61fTSiF5cLcKgvMoomlXtH7ec3RGwULMoj/JRj/H/7dm2xAv tx6w== X-Forwarded-Encrypted: i=1; AFNElJ/MBvyIE5RvzMt0A4z+SvPly9qUV+wCTP2zYpxoWJmrhtXZ3NU2e7PHOvUlc9OFqgJ9D/c03gqI3boEsNc=@vger.kernel.org X-Gm-Message-State: AOJu0YxRclDzwVLGqjRvlrF7kwgCLKj7xaITVdi8GiazFmz+g89MYgBk GdUTr4RM4wDCias/RdhJBHEIHOfsxWfvvLUZma4OWp9P+5rbVqcyO77E X-Gm-Gg: Acq92OGypU2fu/mANj4F0i+wkUd85xjhEJMqKAuTDKuxCEAnSws72AgAIQrH3OmC6Zo B3y/MmF27MYHuqWhb5V9wdxyxAWqJtNH8zETSEVMk8ADP0zO8v4o5ExesWVHIqNj34wlIWtRCvQ kC+66f1mObhFwdrS/Dv5Gc4+DZ0ps7e5ZJ7gVbt5rWDx97CkaCytJ8QzaO2pEkA7BgzMEGSBm2h 4vD/snhVt+9k1nm9sZfRk0pPItZFiRNMGmjg/YJRmosuI5NgIneVoCfGL4kaRDc5pP9WpStkAJr RQxgFRSsQMMCqBjWgdK/z7DY0nNSx6Na3paSM77ng14WVrdoof9upDyGa3H9+RtKUDZ9TU2Cm0l vb3RVS2+WaN3BpwcuNoVwo5yMhd2g1MIHMcyznbStUdN3t6/0qu7Tus6TzPkOEy9Xu40Ud1S0WK uP7eALZnIXV8vfDuIbPfbLlyi5bXU0WQP0zEn8S5IzpALTty+7E0yZEXJsiJFN7a0OXMhXDoir3 7bk4YhtaYUZRORcOpkNXea/AHf4ZAZym51079p2MKfhuw== X-Received: by 2002:a05:6a20:7490:b0:3b2:86c9:baa5 with SMTP id adf61e73a8af0-3b4ccfdbb5dmr16989108637.38.1780896551959; Sun, 07 Jun 2026 22:29:11 -0700 (PDT) Received: from ryzen ([2601:644:8000:5b5d:7285:c2ff:fe45:8a32]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c85df0b56c5sm14461062a12.27.2026.06.07.22.29.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 07 Jun 2026 22:29:11 -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: [PATCHv2 wireless-next] wifi: brcm80211: change current_bss to value Date: Sun, 7 Jun 2026 22:28:54 -0700 Message-ID: <20260608052854.11718-1-rosenp@gmail.com> X-Mailer: git-send-email 2.54.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Change to a single allocation and remove some boilerplate. Signed-off-by: Rosen Penev --- v2: change to value .../broadcom/brcm80211/brcmsmac/main.c | 40 +++---------------- .../broadcom/brcm80211/brcmsmac/main.h | 2 +- 2 files changed, 7 insertions(+), 35 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c index c7eaf160e1fa..ec3aeaa7bab9 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 == NULL) - return; - - kfree(cfg->current_bss); - kfree(cfg); -} - static void brcms_c_detach_mfree(struct brcms_c_info *wlc) { if (wlc == 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 = kzalloc_obj(*cfg, GFP_ATOMIC); - if (cfg == NULL) - goto fail; - - cfg->current_bss = kzalloc_obj(*cfg->current_bss, GFP_ATOMIC); - if (cfg->current_bss == 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 = brcms_c_bsscfg_malloc(unit); + wlc->bsscfg = kzalloc_obj(*wlc->bsscfg, GFP_ATOMIC); if (wlc->bsscfg == NULL) { *err = 1011; goto fail; @@ -3813,7 +3785,7 @@ static void brcms_c_set_home_chanspec(struct brcms_c_info *wlc, u16 chanspec) wlc->home_chanspec = chanspec; if (wlc->pub->associated) - wlc->bsscfg->current_bss->chanspec = chanspec; + wlc->bsscfg->current_bss.chanspec = chanspec; } } @@ -5423,7 +5395,7 @@ void brcms_c_get_current_rateset(struct brcms_c_info *wlc, struct brcms_c_rateset *rs; if (wlc->pub->associated) - rs = &wlc->bsscfg->current_bss->rateset; + rs = &wlc->bsscfg->current_bss.rateset; else rs = &wlc->default_bss->rateset; @@ -5450,7 +5422,7 @@ int brcms_c_set_rateset(struct brcms_c_info *wlc, struct brcm_rateset *rs) if (wlc->pub->_n_enab & SUPPORT_11N) { struct brcms_bss_info *mcsset_bss; if (wlc->pub->associated) - mcsset_bss = wlc->bsscfg->current_bss; + mcsset_bss = &wlc->bsscfg->current_bss; else mcsset_bss = wlc->default_bss; memcpy(internal_rs.mcs, &mcsset_bss->rateset.mcs[0], @@ -7809,7 +7781,7 @@ void brcms_c_init(struct brcms_c_info *wlc, bool mute_tx) u32 bi; /* get beacon period and convert to uS */ - bi = wlc->bsscfg->current_bss->beacon_period << 10; + bi = wlc->bsscfg->current_bss.beacon_period << 10; /* * update since init path would reset * to default value diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.h index b7ca0d9891c4..2d133264f4a7 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.54.0