drivers/bluetooth/hci_qca.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
On platforms using an M.2 slot with both UART and USB support, bt_en is
pulled high by hardware. In this case, software-based power control
should be disabled. The current platforms are Lemans-EVK and Monaco-EVK.
Add QCA_WCN7850 to the existing condition so that power_ctrl_enabled is
cleared when bt_en is not software-controlled (or absent), aligning its
behavior with WCN6750 and WCN6855
Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com>
---
Changes for v3
- Add change history.
- Link to v2: https://lore.kernel.org/all/20260319075125.76539-1-shuai.zhang@oss.qualcomm.com/
Changes for v2
- Expand the commit description to include the affected platforms.
- Link to v1: https://lore.kernel.org/all/20260319031040.4096297-1-shuai.zhang@oss.qualcomm.com/
---
drivers/bluetooth/hci_qca.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
index c17a462aef55..4512ff7cd0c0 100644
--- a/drivers/bluetooth/hci_qca.c
+++ b/drivers/bluetooth/hci_qca.c
@@ -2484,7 +2484,8 @@ static int qca_serdev_probe(struct serdev_device *serdev)
if (!qcadev->bt_en &&
(data->soc_type == QCA_WCN6750 ||
- data->soc_type == QCA_WCN6855))
+ data->soc_type == QCA_WCN6855 ||
+ data->soc_type == QCA_WCN7850))
power_ctrl_enabled = false;
qcadev->sw_ctrl = devm_gpiod_get_optional(&serdev->dev, "swctrl",
--
2.34.1
On Tue, Mar 24, 2026 at 3:30 AM Shuai Zhang <shuai.zhang@oss.qualcomm.com> wrote: > > On platforms using an M.2 slot with both UART and USB support, bt_en is > pulled high by hardware. In this case, software-based power control > should be disabled. The current platforms are Lemans-EVK and Monaco-EVK. > > Add QCA_WCN7850 to the existing condition so that power_ctrl_enabled is > cleared when bt_en is not software-controlled (or absent), aligning its > behavior with WCN6750 and WCN6855 > > Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com> > --- Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Hi Shuai, On Tue, Mar 24, 2026 at 6:33 AM Bartosz Golaszewski <brgl@kernel.org> wrote: > > On Tue, Mar 24, 2026 at 3:30 AM Shuai Zhang > <shuai.zhang@oss.qualcomm.com> wrote: > > > > On platforms using an M.2 slot with both UART and USB support, bt_en is > > pulled high by hardware. In this case, software-based power control > > should be disabled. The current platforms are Lemans-EVK and Monaco-EVK. > > > > Add QCA_WCN7850 to the existing condition so that power_ctrl_enabled is > > cleared when bt_en is not software-controlled (or absent), aligning its > > behavior with WCN6750 and WCN6855 > > > > Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com> > > --- > > Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> Let's check if the following is true before I push it: https://sashiko.dev/#/patchset/20260324023016.3889062-1-shuai.zhang%40oss.qualcomm.com -- Luiz Augusto von Dentz
Hi Luiz On 3/25/2026 4:01 AM, Luiz Augusto von Dentz wrote: > Hi Shuai, > > On Tue, Mar 24, 2026 at 6:33 AM Bartosz Golaszewski <brgl@kernel.org> wrote: >> On Tue, Mar 24, 2026 at 3:30 AM Shuai Zhang >> <shuai.zhang@oss.qualcomm.com> wrote: >>> On platforms using an M.2 slot with both UART and USB support, bt_en is >>> pulled high by hardware. In this case, software-based power control >>> should be disabled. The current platforms are Lemans-EVK and Monaco-EVK. >>> >>> Add QCA_WCN7850 to the existing condition so that power_ctrl_enabled is >>> cleared when bt_en is not software-controlled (or absent), aligning its >>> behavior with WCN6750 and WCN6855 >>> >>> Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com> >>> --- >> Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> > Let's check if the following is true before I push it: > > https://sashiko.dev/#/patchset/20260324023016.3889062-1-shuai.zhang%40oss.qualcomm.com The question raised by this check is whether |qca_power_shutdown()| properly considers WCN7850. WCN7850 does not need any special handling and is intentionally covered by the default case in |qca_power_shutdown()|. Thanks, Shuai
© 2016 - 2026 Red Hat, Inc.