Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 64F113B0AF1; Mon, 23 Mar 2026 16:25:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774283123; cv=none; b=JjGezxHKdNBUTg8qLV7ZIx1lx+aFiDYpwkuv/mixWqDvMpWLJ3X4FNjH8LhuEo76l2MhxIZJg0VjtuTEUkBvrshJZAV171vBIaYpvtR36Mzq4Rg4cE7EcTdQpU1xr+NCB9Q6UXrRam4sul/YMyrknL9+8dKtm49GIZK1Kp0Rll0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774283123; c=relaxed/simple; bh=pOdmQRe7NG76po1zSjvanE/8QNEYSyKD8K40EmWBv3M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Go61gBtSDwNsiQevTc6EX3yYO0TzTsdkETIvOfTj9OqPfJuw0F+hx7bJ6EaXrkga6OnHq4sQ009TkYXCk03cLLI9t7C6FFcP5RoI97payz1deT6lCwzt6oLR0dkCftubwdOV4xYK9l6QkM/Lnx3S0VicsxMHw4t578kzjkHaO+c= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=H2NdwQgc; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="H2NdwQgc" Received: by smtp.kernel.org (Postfix) with ESMTPSA id F2F40C4CEF7; Mon, 23 Mar 2026 16:25:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1774283123; bh=pOdmQRe7NG76po1zSjvanE/8QNEYSyKD8K40EmWBv3M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=H2NdwQgcjljcXmEV7Q2VnTuMLD+SR4N2cJ2VY9npIlrMpykkZTktSAmzujv6IVDOX tQ9Ev1ZJ0DCDjIRlkX2KQXEUWS9D9aSYFjHuy4mRwqay9c9ePQkx3j6YYMlJrg0DQZ b5spqItOoTkWECZVUd7b/pJ+CeVF/5MVK1IBnbsU= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, Bartosz Golaszewski , Dmitry Baryshkov , Luiz Augusto von Dentz , Sasha Levin Subject: [PATCH 6.1 409/481] Bluetooth: qca: fix ROM version reading on WCN3998 chips Date: Mon, 23 Mar 2026 14:46:31 +0100 Message-ID: <20260323134535.148660767@linuxfoundation.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323134525.256603107@linuxfoundation.org> References: <20260323134525.256603107@linuxfoundation.org> User-Agent: quilt/0.69 X-stable: review X-Patchwork-Hint: ignore Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 6.1-stable review patch. If anyone has any objections, please let me know. ------------------ From: Dmitry Baryshkov [ Upstream commit 99b2c531e0e797119ae1b9195a8764ee98b00e65 ] WCN3998 uses a bit different format for rom version: [ 5.479978] Bluetooth: hci0: setting up wcn399x [ 5.633763] Bluetooth: hci0: QCA Product ID :0x0000000a [ 5.645350] Bluetooth: hci0: QCA SOC Version :0x40010224 [ 5.650906] Bluetooth: hci0: QCA ROM Version :0x00001001 [ 5.665173] Bluetooth: hci0: QCA Patch Version:0x00006699 [ 5.679356] Bluetooth: hci0: QCA controller version 0x02241001 [ 5.691109] Bluetooth: hci0: QCA Downloading qca/crbtfw21.tlv [ 6.680102] Bluetooth: hci0: QCA Downloading qca/crnv21.bin [ 6.842948] Bluetooth: hci0: QCA setup on UART is completed Fixes: 523760b7ff88 ("Bluetooth: hci_qca: Added support for WCN3998") Reviewed-by: Bartosz Golaszewski Signed-off-by: Dmitry Baryshkov Signed-off-by: Luiz Augusto von Dentz Signed-off-by: Sasha Levin --- drivers/bluetooth/btqca.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/bluetooth/btqca.c b/drivers/bluetooth/btqca.c index 5651f40db1736..5b34da23adce7 100644 --- a/drivers/bluetooth/btqca.c +++ b/drivers/bluetooth/btqca.c @@ -826,6 +826,8 @@ int qca_uart_setup(struct hci_dev *hdev, uint8_t baudrate, */ if (soc_type == QCA_WCN3988) rom_ver = ((soc_ver & 0x00000f00) >> 0x05) | (soc_ver & 0x0000000f); + else if (soc_type == QCA_WCN3998) + rom_ver = ((soc_ver & 0x0000f000) >> 0x07) | (soc_ver & 0x0000000f); else rom_ver = ((soc_ver & 0x00000f00) >> 0x04) | (soc_ver & 0x0000000f); -- 2.51.0