net/bluetooth/hci_core.c | 1 + 1 file changed, 1 insertion(+)
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@compal.corp-partner.google.com>
---
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
Hi Ajye, On Fri, Sep 30, 2022 at 7:07 AM Ajye Huang <ajye_huang@compal.corp-partner.google.com> 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@compal.corp-partner.google.com> > --- > 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
On Sat, Oct 1, 2022 at 3:57 AM Luiz Augusto von Dentz <luiz.dentz@gmail.com> wrote: > > Hi Ajye, > > On Fri, Sep 30, 2022 at 7:07 AM Ajye Huang > <ajye_huang@compal.corp-partner.google.com> 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@compal.corp-partner.google.com> > > --- > > 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 Hi Luiz Now, this code you mentioned in hci_dev_open_sync() was moved from hci_core.c to hci_sync.c The below modification is workable. Do you agree? If so, I will send you the v2 version. Thanks index 15c75ef4c271..76c3107c9f91 100644 --- a/net/bluetooth/hci_sync.c +++ b/net/bluetooth/hci_sync.c @@ -4676,6 +4676,7 @@ int hci_dev_open_sync(struct hci_dev *hdev) hci_dev_test_flag(hdev, HCI_MGMT) && hdev->dev_type == HCI_PRIMARY) { ret = hci_powered_update_sync(hdev); + mgmt_power_on(hdev, ret); } } else { /* Init failed, cleanup */
Hi Ajye, On Fri, Sep 30, 2022 at 3:30 PM Ajye Huang <ajye_huang@compal.corp-partner.google.com> wrote: > > On Sat, Oct 1, 2022 at 3:57 AM Luiz Augusto von Dentz > <luiz.dentz@gmail.com> wrote: > > > > Hi Ajye, > > > > On Fri, Sep 30, 2022 at 7:07 AM Ajye Huang > > <ajye_huang@compal.corp-partner.google.com> 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@compal.corp-partner.google.com> > > > --- > > > 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 > > Hi Luiz > > Now, this code you mentioned in hci_dev_open_sync() was moved from > hci_core.c to hci_sync.c > The below modification is workable. > Do you agree? > If so, I will send you the v2 version. Thanks > > index 15c75ef4c271..76c3107c9f91 100644 > --- a/net/bluetooth/hci_sync.c > +++ b/net/bluetooth/hci_sync.c > @@ -4676,6 +4676,7 @@ int hci_dev_open_sync(struct hci_dev *hdev) > hci_dev_test_flag(hdev, HCI_MGMT) && > hdev->dev_type == HCI_PRIMARY) { > ret = hci_powered_update_sync(hdev); > + mgmt_power_on(hdev, ret); > } > } else { > /* Init failed, cleanup */ Ive submitted a change like that already: https://patchwork.kernel.org/project/bluetooth/patch/20220930201920.225767-1-luiz.dentz@gmail.com/ -- Luiz Augusto von Dentz
© 2016 - 2024 Red Hat, Inc.