2024-01-03 12:43:19

by clancy_shang

[permalink] [raw]
Subject: [PATCH] Bluetooth: hci_sync: fix hogp device suspend bug

From: Clancy Shang <[email protected]>

when Bluetooth enters suspend, and disconnects everything with the
disconnect reason code of 0x15, the hogp device could not into sleep
and continued advertising. when use the disconnect reason code of 0x13,
the hogp device going into sleep succeeded.

Signed-off-by: Clancy Shang <[email protected]>
---
net/bluetooth/hci_sync.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
index d85a7091a116..16b5420c32d0 100644
--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
@@ -5927,7 +5927,7 @@ int hci_suspend_sync(struct hci_dev *hdev)

if (hci_conn_count(hdev)) {
/* Soft disconnect everything (power off) */
- err = hci_disconnect_all_sync(hdev, HCI_ERROR_REMOTE_POWER_OFF);
+ err = hci_disconnect_all_sync(hdev, HCI_ERROR_REMOTE_USER_TERM);
if (err) {
/* Set state to BT_RUNNING so resume doesn't notify */
hdev->suspend_state = BT_RUNNING;
--
2.25.1



2024-01-03 13:11:21

by bluez.test.bot

[permalink] [raw]
Subject: RE: Bluetooth: hci_sync: fix hogp device suspend bug

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=814095

---Test result---

Test Summary:
CheckPatch PASS 0.45 seconds
GitLint PASS 0.22 seconds
SubjectPrefix PASS 0.07 seconds
BuildKernel PASS 28.56 seconds
CheckAllWarning PASS 31.37 seconds
CheckSparse PASS 36.98 seconds
CheckSmatch PASS 100.39 seconds
BuildKernel32 PASS 27.91 seconds
TestRunnerSetup PASS 449.38 seconds
TestRunner_l2cap-tester PASS 23.23 seconds
TestRunner_iso-tester PASS 45.94 seconds
TestRunner_bnep-tester PASS 7.05 seconds
TestRunner_mgmt-tester PASS 165.04 seconds
TestRunner_rfcomm-tester PASS 11.40 seconds
TestRunner_sco-tester PASS 15.00 seconds
TestRunner_ioctl-tester PASS 12.09 seconds
TestRunner_mesh-tester PASS 8.86 seconds
TestRunner_smp-tester PASS 9.72 seconds
TestRunner_userchan-tester PASS 7.27 seconds
IncrementalBuild PASS 26.70 seconds



---
Regards,
Linux Bluetooth

2024-01-03 15:55:30

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: Re: [PATCH] Bluetooth: hci_sync: fix hogp device suspend bug

Hi Clancy,

On Wed, Jan 3, 2024 at 5:12 AM <[email protected]> wrote:
>
> From: Clancy Shang <[email protected]>
>
> when Bluetooth enters suspend, and disconnects everything with the
> disconnect reason code of 0x15, the hogp device could not into sleep
> and continued advertising. when use the disconnect reason code of 0x13,
> the hogp device going into sleep succeeded.
>
> Signed-off-by: Clancy Shang <[email protected]>
> ---
> net/bluetooth/hci_sync.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
> index d85a7091a116..16b5420c32d0 100644
> --- a/net/bluetooth/hci_sync.c
> +++ b/net/bluetooth/hci_sync.c
> @@ -5927,7 +5927,7 @@ int hci_suspend_sync(struct hci_dev *hdev)
>
> if (hci_conn_count(hdev)) {
> /* Soft disconnect everything (power off) */
> - err = hci_disconnect_all_sync(hdev, HCI_ERROR_REMOTE_POWER_OFF);
> + err = hci_disconnect_all_sync(hdev, HCI_ERROR_REMOTE_USER_TERM);

Are you actually paying attention to my responses? I did nak this
change before, so we need to find some way to detect the device is
handling HCI_ERROR_REMOTE_POWER_OFF as link loss, which is wrong, and
only then use HCI_ERROR_REMOTE_USER_TERM, so please don't keep sending
the same patch over and over until you make these changes.

> if (err) {
> /* Set state to BT_RUNNING so resume doesn't notify */
> hdev->suspend_state = BT_RUNNING;
> --
> 2.25.1
>


--
Luiz Augusto von Dentz