On Mon, 24 Jun 2024 at 22:45, Bartosz Golaszewski <brgl@xxxxxxxx> wrote: > > From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> > > We unnecessarily fallthrough the case for QCA6390 when initializing the > device and hit the condition where - due to the lack of the enable-gpio > - we disable power management despite using the power sequencer. We don't > need to look for clocks on this model so it makes more sense to just > register the hci device and break the switch. > > Reported-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > Fixes: 4029dba6b6f1 ("Bluetooth: qca: use the power sequencer for QCA6390") > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> Is this going to break the QCA6390 as present on M.2 / PCIe cards? Or the older DT which didn't have pwrseq entries? > --- > drivers/bluetooth/hci_qca.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c > index 2b31f3dc33a9..bc6a49ba26f9 100644 > --- a/drivers/bluetooth/hci_qca.c > +++ b/drivers/bluetooth/hci_qca.c > @@ -2402,7 +2402,13 @@ static int qca_serdev_probe(struct serdev_device *serdev) > "bluetooth"); > if (IS_ERR(qcadev->bt_power->pwrseq)) > return PTR_ERR(qcadev->bt_power->pwrseq); > - fallthrough; > + > + err = hci_uart_register_device(&qcadev->serdev_hu, &qca_proto); > + if (err) { > + BT_ERR("qca6390 serdev registration failed"); > + return err; > + } > + break; > > default: > qcadev->bt_en = devm_gpiod_get_optional(&serdev->dev, "enable", > -- > 2.43.0 > -- With best wishes Dmitry