From nobody Sat Jul 25 21:59:15 2026 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) (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 0C8AD3CF034 for ; Mon, 13 Jul 2026 08:51:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783932662; cv=none; b=hdCtnyopk8j3EczKkWbVMn7rY8yXqf4Rc4Zc0PeROR2Hpx30UeL/aJV1rbRzjyFqk9Is9uvS7VB1w4iEs9RgU8LYwDSCrHt307DiFCGmBLYkxBZicouFvruLHFPc2h8Kq50fIoRJOjOoGroyyInxa0wBNlbmI3vRZbHmL7XUbJM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783932662; c=relaxed/simple; bh=x2y7A0mQWDqx9SWlyeRZiEZyZuZoqGFvVUSn6KvNwf4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=df6Z5OaO7L8nC3O9L0Tm9FHqvVP1fmxu4ZI/3xohBxlazpmZAWpidsUnRGFLrAu9hvl6bLOlL5lZrK+hm1uayyEcs97goqNo9h4XFlzkAUUPV0UqnwN77Bfw522BB96T04WA1E0SrZdvcFD3dBQ1BbN0TqJqS2IAI0856q4A6V8= 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=jL1p9jFR; arc=none smtp.client-ip=209.85.214.171 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="jL1p9jFR" Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-2cc97653887so32009695ad.1 for ; Mon, 13 Jul 2026 01:51:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783932660; x=1784537460; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:content-type :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=tx9/pVLn3lgrECS5JH9ovCKH0knPJW11H9lumC0dnr4=; b=jL1p9jFRhaFMesJgl1p4U2INxgWhdLH4uIIop6etx/ppBCkqoyC602G3FYRwPcI5Tn yBQ7f3edJcWzQU1wZtGUjzjE3o+barIbb0i9sDm/B6MpYVY/xBnjBqzLA+ktQtcyEN7i TZxi88aT15x3b6Lr/25Qig5DnXLncYFQAVRbRmYCbJvlkKm2MzUUTD7mHsfar9z6K8Ad QD+owxO8Dr82ipl8VVDrlkU1vXvi+lB6dj5Gc9qEAqNoYCq0pD2nKe3k+ds95yjxj0lu R6qFjV7UGxzPQhDfsJ6YNm4Iet+7PXF7kyudhOf93THiU8QKDsXkDfndkUycGJsHl4BK Z0OQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783932660; x=1784537460; h=cc:to:message-id:content-transfer-encoding:content-type :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=tx9/pVLn3lgrECS5JH9ovCKH0knPJW11H9lumC0dnr4=; b=QsT6LSv4pEabAF7sMSw+HIVdGImoAujvCo/yDA60ekO7stawuJkFMZtGMOEVd6iaA0 xqfS1nShixhxGLj0aqDJvdpmYACBMoS1Qj/mpvc+rKYwx8UnqagosD+e5TQUEuVWsUY0 vCqwOyHdGzNyPjcnqhaSgjagNBwRVY0e0Sh3nm4fCREstEydZ4H4eOjAxW3SP7C7brf5 W7LJRMGkGK7+Y3ycDtzsck28hTyBOKCeo1WgU8MTsqKYsV+gW+h4vnx3qWOKOfRuaNvC P/3HdCJ41CRY1uF9Hq/x/TQVl6c3D0CEklBW2isf5dc14DjHcorm3qhDLfHqqM0x+dyI 1eYQ== X-Forwarded-Encrypted: i=1; AHgh+RpKLz8TRcaEt0deBBlxhC3SZxGq8IXaAzq2fo3UhrcrHXFttFHc/DGqOFpUCmZ/vAyPXsDNVa3IH9VucV8=@vger.kernel.org X-Gm-Message-State: AOJu0YyGBVSv6tokkg95SNUdM+Z1KETYJW9uxg/FgE+B8gre7E8Ab1LD m43gASZn0Pvy/is7jNA8d3jKbuPCy1IAGkrk0yU/KAD6noyArgmL7D5WXAEO+YPO X-Gm-Gg: AfdE7ckcbd993/CYYD5HKC2Uq1CjCut3Mw5hFpamHPgi67wG3znitLWIXVwIbtbjjxZ WifdEzUlwXnzhz7vjphogW/PsepHqr0/u4d1p1/eSmFZYhPGp3ZldQPJBSCvD6FgjWuTK9IMGkY zKBNxqJOmGjosll/YI5Qgs6eSiq0EIUnFYp6SiPZJRQ/Dx5AmteWuJYxpAE4uDEm7jyXySdvvXA nSsvsvPHi20Xn0fJkDiELFAew+QekCvl3vyTedM+YQrtfRdgO13+kl10SjLMP/taRBJOB52t8Jd 5DqrpG6AyAxnKIMnzBN05jwwgcPUd6CKsgn/WHuLUPXZtzZhvIYgMVyr365RQlhLzhRcf2L82e1 2EpthYhz8TuFlVSP6lq2uloABRtdOTTAaDN9L17YJWSb+jWp5YWzXAckkKoTEYFnWn8eMxsOPI8 vphy2NaPYJfXPL90G9PmCrh4ZAQYAo+UTR83NelbWzi2iiogFi49hKQUkJhbtc2R7I4NYTVIez X-Received: by 2002:a17:903:b85:b0:2c9:ae0b:61e3 with SMTP id d9443c01a7336-2ce9e9a6ed8mr68713635ad.2.1783932660354; Mon, 13 Jul 2026 01:51:00 -0700 (PDT) Received: from [127.0.1.1] (211-23-39-77.hinet-ip.hinet.net. [211.23.39.77]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2ccc9d5c804sm95405245ad.82.2026.07.13.01.50.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jul 2026 01:50:59 -0700 (PDT) From: LiangCheng Wang Date: Mon, 13 Jul 2026 16:50:55 +0800 Subject: [PATCH] wifi: brcmfmac: set F2 blocksize to 256 for BCM43752 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260713-b43752-f2-blksz-v1-1-8697fcfeaef4@gmail.com> X-B4-Tracking: v=1; b=H4sIAO6mVGoC/x3MSw5AMBRG4a3IHbuJth5hK2KA/uWGIG0iQuxdY /gNznkowAsCNclDHqcE2bcIlSY0zv02gcVGk850mVXK8JCbqtDsNA/rEm6Gs72yMLCoKVaHh5P rP7bd+34mYVoyYQAAAA== X-Change-ID: 20260713-b43752-f2-blksz-efda1de3ede9 To: Arend van Spriel , Kalle Valo , Angus Ainslie Cc: Wig Cheng , linux-wireless@vger.kernel.org, brcm80211@lists.linux.dev, brcm80211-dev-list.pdl@broadcom.com, linux-kernel@vger.kernel.org, stable@vger.kernel.org, LiangCheng Wang X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1783932657; l=3337; i=zaq14760@gmail.com; h=from:subject:message-id; bh=x2y7A0mQWDqx9SWlyeRZiEZyZuZoqGFvVUSn6KvNwf4=; b=BriQddfQajmgnCw8Aakdagw3LVvgLsP2Zq4g4TFKQomiuHfkR5bWjOjAThxzIfHyPUU1TxUVM t2+MK21tqSSD+w1LXqhx2T2x3OK4/z1eBGVRXDEceDDkHThoe2UzDaP X-Developer-Key: i=zaq14760@gmail.com; a=ed25519; pk=5IaLhzvMqasgGPT47dsa8HEpfb0/Dv2BZC0TzSLj6E0= The BCM43752 is not reliable with the default 512-byte SDIO function 2 block size: on an i.MX8MP board with an AMPAK AP6275S module at SDR104 / 200 MHz, an iperf TX stress test kills WLAN within seconds: mmc_submit_one: CMD53 sg block write failed -84 brcmf_sdio_dpc: failed backplane access over SDIO, halting operation Commit d2587c57ffd8 ("brcmfmac: add 43752 SDIO ids and initialization") set up the 43752 like the 4373 for the F2 watermark but missed the F2 block size, which the 4373 limits to 256 bytes. The vendor driver (bcmdhd) also programs a 256-byte F2 block size for this chip and runs the same hardware without errors. Group the 43752 with the 4373, matching the F2 watermark handling. With this change a 10-minute bidirectional iperf3 soak completes with zero SDIO errors at ~270 Mbit/s in each direction. Fixes: d2587c57ffd8 ("brcmfmac: add 43752 SDIO ids and initialization") Cc: stable@vger.kernel.org # <=3D 6.16 needs the CYPRESS_43752 id name Signed-off-by: LiangCheng Wang --- The failure was isolated by testing combinations of scatter-gather support and F2 block size, all at SDR104 / 200 MHz, with an iperf multi-stream stress test plus a 5-10 minute bidirectional iperf3 soak: sg/glom F2 blksz result on 512 fatal halt within seconds (CMD53 write -84, "failed backplane access", wlan dead) txglom off, 512 survives, but ~14 recoverable CMD53 errors/min rx glom on off 512 firmware PSM watchdog reset after ~3 minutes off 256 0 errors, but TX limited to ~142 Mbit/s on 256 0 errors, RX 265 / TX 273 Mbit/s (this patch) So the corruption tracks the 512-byte block size, not scatter-gather; glomming only amplifies it. The vendor bcmdhd driver logging "set sd_f2_blocksize 256" at probe is what pointed at the missing override. The BCM43751 shares the 43752 firmware handling and F2 watermark case and may need the same fix, but I have no 43751 hardware to verify. Tested on: - i.MX8MP (usdhc SDIO host, AMPAK AP6275S module) with Linux kernel 6.12.34 plus this patch The touched code is unchanged between 6.12 and the current tree apart from the 74e2ef72bd4b ("wifi: brcmfmac: fix 43752 SDIO FWVID incorrectly labelled as Cypress (CYW)") rename; stable trees before it need the old SDIO_DEVICE_ID_BROADCOM_CYPRESS_43752 name to build. --- drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c b/dr= ivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c index d24b80e492e084160e1d085b8c20242de3e07c28..3f7a05c4d27ad4c284a6ecc7f0b= 014a1e985526d 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c @@ -911,6 +911,7 @@ int brcmf_sdiod_probe(struct brcmf_sdio_dev *sdiodev) return ret; } switch (sdiodev->func2->device) { + case SDIO_DEVICE_ID_BROADCOM_43752: case SDIO_DEVICE_ID_BROADCOM_CYPRESS_4373: f2_blksz =3D SDIO_4373_FUNC2_BLOCKSIZE; break; --- base-commit: a13c140cc289c0b7b3770bce5b3ad42ab35074aa change-id: 20260713-b43752-f2-blksz-efda1de3ede9 Best regards, --=20 LiangCheng Wang