From mboxrd@z Thu Jan 1 00:00:00 1970 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 208C52E11B9; Mon, 13 Apr 2026 16:28:56 +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=1776097736; cv=none; b=VLjoxnWBnk27E4IAgnZZnWaJk9ZfDFgALPrq+bpPtUwIhwFOA8m8HDPBhi34x8v7SK85Xzr2hU8OHsMTpZAKLVHQ10UG06YHKW4AtWGJSdgmjNMdr7afJ+5SONHai2lTEmIVbUb8jHiXWdjnwM2Tm5oRJ/hG3geLsR9/mG+Zacc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776097736; c=relaxed/simple; bh=9Z3Zc/8NdgtfQQvvTGYiEEX0QyHo6fqFmX6CoPWmFug=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Myj5iesIrIuHpuMu0rj8zr9BpYyY+/EqfxqyR7m8YBKa5425K0nBSTBSMSUfLQULapE0lkGSsxIzehH9f4ifJGoCm/Z1CZ4wWXibc6UwvKOO181KtcEa77YotHr1N7jwUlK3idH0ZJqCxXq284DC60O0LVyfMGh90dajH3fAjac= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=PFXLXNBC; 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="PFXLXNBC" Received: by smtp.kernel.org (Postfix) with ESMTPSA id AA4C1C2BCAF; Mon, 13 Apr 2026 16:28:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1776097736; bh=9Z3Zc/8NdgtfQQvvTGYiEEX0QyHo6fqFmX6CoPWmFug=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=PFXLXNBCtFen0FP+E6lgfjfPJp25czLojqSZOOqjypsqq86tQ4+03EA4uZOUulOL9 dUFedbbu4usKEA9EKSOvBJotHMjRoYpkGnBaloJsdXgcUHOeIsjzIUeEHI9jKNFBRb Z9RZUWWdKlOU2QG2Vqqf0nbZEgWKtNWF/X+PFGTo= 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 5.15 252/570] Bluetooth: qca: fix ROM version reading on WCN3998 chips Date: Mon, 13 Apr 2026 17:56:23 +0200 Message-ID: <20260413155839.906399351@linuxfoundation.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260413155830.386096114@linuxfoundation.org> References: <20260413155830.386096114@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 5.15-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 78244d53dbe0f..25e98ce4a5af9 100644 --- a/drivers/bluetooth/btqca.c +++ b/drivers/bluetooth/btqca.c @@ -677,6 +677,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