All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/8] wifi: brcm80211: performance and stability improvements
@ 2026-07-31 15:48 Shivesh
  2026-07-31 15:48 ` [PATCH v3 1/8] wifi: brcmfmac: flowring: replace O(N) loop with atomic counter Shivesh
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Shivesh @ 2026-07-31 15:48 UTC (permalink / raw)
  To: arend.vanspriel
  Cc: linux-wireless, brcm80211, brcm80211-dev-list.pdl, linux-kernel,
	Shivesh

From: Shivesh <chanelshivesh@gmail.com>

This series addresses several performance bottlenecks and correctness
issues in both brcmfmac (PCIe/SDIO) and brcmsmac drivers.

Changes since v2:
- core.c: Add skb_cow_head() check before skb_push() to prevent a
  kernel panic when the skb arrives with zero headroom in monitor mode
  receive path.
- cfg80211.c: Fix a silent PMKID list corruption bug in brcmf_pmksa_v2_op.
  The shadow entry counter (npmk) was stored in list->length, which was
  then overwritten with the wire-format byte-length at the send: label.
  On subsequent calls, le16_to_cpu(list->length) would decode the byte-
  length as an entry count, silently corrupting the PMKID cache.

Changes since v1:
- Sent with correct author/Signed-off-by address (chanelshivesh@gmail.com).

Patch overview:
  1. flowring: Replace O(N) blocked-ring scan with an atomic per-interface
     counter, fixing a teardown counter leak that permanently stopped netif.
  2. sdio: Coalesce N+1 separate sdio_claim_host/release pairs in the
     rxglom path into a single pair covering all hdparse calls.
  3. core: Populate the radiotap header with RSSI from wlc_d11rxhdr in
     monitor mode, fixing missing signal strength in packet captures.
     Add skb_cow_head() to prevent panic on zero-headroom skbs.
  4. cfg80211: Implement the PMKID_V2 set/del/flush paths for FILS
     fast-roaming support on firmware revision 12 devices. Fix the V2
     shadow counter overwrite bug. Replace mdelay() busy-wait in
     brcmf_delay() with usleep_range().
  5. msgbuf: Increase NR_TX_PKTIDS (2048->4096) and TX flush thresholds
     (32/96->64/128). Fix silent TX stall under high load by using
     test_and_set_bit to guarantee worker scheduling.
  6. pcie: Replace fixed msleep(10) mailbox polling with usleep_range
     exponential backoff. Replace msleep(50) IRQ teardown polling with
     usleep_range for faster teardown.
  7. fwsignal: Document that a duplicate MAC handle ADD is a safe no-op.
  8. brcmsmac/ampdu: Clarify IEEE 802.11n TID compliance comment.

Shivesh (8):
  wifi: brcmfmac: flowring: replace O(N) loop with atomic counter
  wifi: brcmfmac: sdio: coalesce host locks in rx path
  wifi: brcmfmac: core: populate radiotap header with RSSI
  wifi: brcmfmac: cfg80211: implement PMKID_V2 and fix delay busy-wait
  wifi: brcmfmac: msgbuf: tune thresholds and optimize sleep latency
  wifi: brcmfmac: pcie: optimize latency and irq teardown
  wifi: brcmfmac: fwsignal: safe no-op on duplicate MAC add
  wifi: brcmsmac: ampdu: clarify standard compliance on QoS change

 .../broadcom/brcm80211/brcmfmac/cfg80211.c    | 123 ++++++++++++++++--
 .../broadcom/brcm80211/brcmfmac/cfg80211.h    |   4 +-
 .../broadcom/brcm80211/brcmfmac/core.c        |  44 ++++---
 .../broadcom/brcm80211/brcmfmac/flowring.c    |  65 ++++++---
 .../broadcom/brcm80211/brcmfmac/flowring.h    |  18 +++
 .../broadcom/brcm80211/brcmfmac/fwsignal.c    |   4 +-
 .../broadcom/brcm80211/brcmfmac/msgbuf.c      |  69 ++++++++--
 .../broadcom/brcm80211/brcmfmac/pcie.c        |  66 ++++++++--
 .../broadcom/brcm80211/brcmfmac/sdio.c        |  62 +++++----
 .../broadcom/brcm80211/brcmsmac/ampdu.c       |  11 +-
 10 files changed, 375 insertions(+), 91 deletions(-)


base-commit: 5e0bcb4920bcb9e0ef6c03a91730fe45f643f3a4
-- 
2.53.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-07-31 15:49 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-31 15:48 [PATCH v3 0/8] wifi: brcm80211: performance and stability improvements Shivesh
2026-07-31 15:48 ` [PATCH v3 1/8] wifi: brcmfmac: flowring: replace O(N) loop with atomic counter Shivesh
2026-07-31 15:48 ` [PATCH v3 2/8] wifi: brcmfmac: sdio: coalesce host locks in rx path Shivesh
2026-07-31 15:48 ` [PATCH v3 3/8] wifi: brcmfmac: core: populate radiotap header with RSSI Shivesh
2026-07-31 15:48 ` [PATCH v3 4/8] wifi: brcmfmac: cfg80211: implement PMKID_V2 and fix delay busy-wait Shivesh
2026-07-31 15:48 ` [PATCH v3 5/8] wifi: brcmfmac: msgbuf: tune thresholds and optimize sleep latency Shivesh
2026-07-31 15:48 ` [PATCH v3 6/8] wifi: brcmfmac: pcie: optimize latency and irq teardown Shivesh
2026-07-31 15:48 ` [PATCH v3 7/8] wifi: brcmfmac: fwsignal: safe no-op on duplicate MAC add Shivesh
2026-07-31 15:48 ` [PATCH v3 8/8] wifi: brcmsmac: ampdu: clarify standard compliance on QoS change Shivesh

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.