mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Hex Lindqvist <hex@freenixos.com>
To: Bartosz Golaszewski <brgl@kernel.org>,
	Marcel Holtmann <marcel@holtmann.org>,
	Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Cc: linux-bluetooth@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH] Bluetooth: qca: Disable SoC debug logging for WCN3990
Date: Thu,  5 Nov 2026 12:19:52 -0800	[thread overview]
Message-ID: <20261105201952.1556185-1-hex@freenixos.com> (raw)

Unless the host turns it off, the WCN3990 firmware sends debug logs to
the host as ACL packets on handle 0x2EDC. hci_qca passes them on as
diagnostic packets, which the core copies to the monitor socket and then
frees. On a OnePlus 6T (SoC version 0x40010214, ROM version 0x0201) that
is a packet of about 490 bytes every seven seconds on average, for as
long as the controller is up.

The driver already turns this logging off after the firmware download
for WCN3950 and WCN3991. Do the same for WCN3990.

Tested on a OnePlus 6T. With the crbtfw21.tlv rampatch from the OnePlus
firmware, no diagnostic packets arrive any more. The controller also
accepts the command with the crbtfw21.tlv from linux-firmware.

An AI assistant helped find and test this change and drafted this
message.

Signed-off-by: Hex Lindqvist <hex@freenixos.com>
---

Notes:
    Test details (OnePlus 6T, crnv21.bin from the OnePlus firmware, counts
    from btmon):
    
    - v7.2.10 with the postmarketOS sdm845 patches, OnePlus crbtfw21.tlv:
      87 diagnostic packets in a ten-minute capture started a minute after
      boot without this patch, none with it.
    - bluetooth-next (31333770a468), same firmware, btmon from boot: 42 in
      the first seven minutes without this patch, none with it; the command
      succeeded at every setup. Plain bluetooth-next hangs this phone after
      about seven minutes with or without this patch, hence the shorter
      window.
    - v7.2.10 with linux-firmware's crbtfw21.tlv (its only WCN3990
      rampatch): the controller returns success for the command (btmon
      during setup; not a ten-minute run).
    
    Not tested on other WCN3990 boards.

 drivers/bluetooth/btqca.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/bluetooth/btqca.c b/drivers/bluetooth/btqca.c
index 60735b70d89a..1db2cc626def 100644
--- a/drivers/bluetooth/btqca.c
+++ b/drivers/bluetooth/btqca.c
@@ -944,6 +944,7 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate,
 	case QCA_QCA2066:
 	case QCA_QCA6390:
 	case QCA_WCN3950:
+	case QCA_WCN3990:
 	case QCA_WCN3991:
 	case QCA_WCN6750:
 	case QCA_WCN6855:

base-commit: a063a00e6cd9e354aa6d67a154a0527951d7f881
-- 
2.56.0


             reply	other threads:[~2026-11-05 20:20 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-05 20:19 Hex Lindqvist [this message]
2026-11-06  9:44 ` Bartosz Golaszewski
2026-11-06 10:57 ` Paul Menzel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261105201952.1556185-1-hex@freenixos.com \
    --to=hex@freenixos.com \
    --cc=brgl@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luiz.dentz@gmail.com \
    --cc=marcel@holtmann.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®