Re: [PATCH v1] bluetooth: Fix the bluetooth icon status after running hciconfig hci0 up

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Ajye,

On Fri, Sep 30, 2022 at 7:07 AM Ajye Huang
<ajye_huang@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> When "hciconfig hci0 up" command is used to bluetooth ON, but
> the bluetooth UI icon in settings still not be turned ON.
>
> Refer to commit 2ff13894cfb8 ("Bluetooth: Perform HCI update for power on synchronously")
> Add back mgmt_power_on(hdev, ret) into function hci_dev_do_open(struct hci_dev *hdev)
> in hci_core.c
>
> Signed-off-by: Ajye Huang <ajye_huang@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
> ---
>  net/bluetooth/hci_core.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
> index 0540555b3704..5061845c8fc2 100644
> --- a/net/bluetooth/hci_core.c
> +++ b/net/bluetooth/hci_core.c
> @@ -481,6 +481,7 @@ static int hci_dev_do_open(struct hci_dev *hdev)
>         hci_req_sync_lock(hdev);
>
>         ret = hci_dev_open_sync(hdev);
> +       mgmt_power_on(hdev, ret);
>
>         hci_req_sync_unlock(hdev);
>         return ret;
> --
> 2.25.1


I believe the culprit is actually the following change:

git show cf75ad8b41d2a:

@@ -1489,8 +1488,7 @@ static int hci_dev_do_open(struct hci_dev *hdev)
                    !hci_dev_test_flag(hdev, HCI_USER_CHANNEL) &&
                    hci_dev_test_flag(hdev, HCI_MGMT) &&
                    hdev->dev_type == HCI_PRIMARY) {
-                       ret = __hci_req_hci_power_on(hdev);
-                       mgmt_power_on(hdev, ret);
+                       ret = hci_powered_update_sync(hdev);

So we should probably restore mgmt_power_on above.

-- 
Luiz Augusto von Dentz



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux