Bluetooth: qca: don't disable power management for QCA6390
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 24 Jun 2024 19:45:18 +0000 (21:45 +0200)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Mon, 15 Jul 2024 14:11:05 +0000 (10:11 -0400)
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@linaro.org>
Fixes: 9a15ce685706 ("Bluetooth: qca: use the power sequencer for QCA6390")
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Acked-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> # RB5
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
drivers/bluetooth/hci_qca.c

index 2b31f3dc33a94853f0496ece201415befcee0785..bc6a49ba26f96e24787e48a512cf3a911be6222e 100644 (file)
@@ -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",