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 E2D5126D4F9; Mon, 23 Mar 2026 14:50:18 +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=1774277419; cv=none; b=M/ApOmwlC5fQFA6qfLjitdx1GZlb1dmbvehQW0bFvX8O9Fbi59oVDi1+kMx0PbxMKFZF8OuJYhbzB0jxr7fZMRALPGXqfCAK/N3QttRS67vg11pWMlCrwpO+xlqqonHcA758eESaHWNN93CVi89rmEw3boWV4X0kWZhZVaCRfDU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774277419; c=relaxed/simple; bh=wwGoLN9PH1ovSKNwIEkSFro3tlS+eP3HxGxa5NKvxbQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=oCJgxsQyTnpBdpzLNNitQb+O1uCJYCZ5W1vp1/Cyg58QFymCPtf44B/qXVKfmKANIzIHFZuHEfjd3ikHPZc8pRgxdNKKteQEekIC975HHm1pv3/MlcaLTats8q8Thr1R3ln1eM2brEySeOOPg3VDpnvYAsmQR3mNkExP58XNQok= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=ISJNGpIW; 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="ISJNGpIW" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 786EBC4CEF7; Mon, 23 Mar 2026 14:50:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1774277418; bh=wwGoLN9PH1ovSKNwIEkSFro3tlS+eP3HxGxa5NKvxbQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ISJNGpIWKQJNMnr52UoxDpkIpSU8IK19KxHQuh32V16bCLCs3r0q/7ifn1CHitBHJ 7+QimB2x21K0l31Jb9iQ57zRrundH5HKx3KnHEHb4aXYIkKCw8eYB1zkblmZzWus4Q Zat7UUxYjexVjKLVtQQM7KGocJcpIhiQ8Espouv4= 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.12 388/460] Bluetooth: qca: fix ROM version reading on WCN3998 chips Date: Mon, 23 Mar 2026 14:46:24 +0100 Message-ID: <20260323134536.104899435@linuxfoundation.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260323134526.647552166@linuxfoundation.org> References: <20260323134526.647552166@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.12-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 dd2c0485b9848..372427747cd64 100644 --- a/drivers/bluetooth/btqca.c +++ b/drivers/bluetooth/btqca.c @@ -804,6 +804,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