04.12.2020 06:14, Howard Chung пишет:
> From: Abhishek Pandit-Subedi <abhishekpan...@chromium.org>
> 
> When suspending, mark SUSPEND_SCAN_ENABLE and SUSPEND_SCAN_DISABLE tasks
> correctly when either classic or le scanning is modified.
> 
> Signed-off-by: Abhishek Pandit-Subedi <abhishekpan...@chromium.org>
> Signed-off-by: Howard Chung <howardch...@google.com>
> Reviewed-by: Alain Michaud <ala...@chromium.org>
> ---
> 
>  net/bluetooth/hci_request.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/net/bluetooth/hci_request.c b/net/bluetooth/hci_request.c
> index 80dc451d6e124..71bffd7454720 100644
> --- a/net/bluetooth/hci_request.c
> +++ b/net/bluetooth/hci_request.c
> @@ -707,6 +707,9 @@ void hci_req_add_le_scan_disable(struct hci_request *req, 
> bool rpa_le_conn)
>               return;
>       }
>  
> +     if (hdev->suspended)
> +             set_bit(SUSPEND_SCAN_DISABLE, hdev->suspend_tasks);
> +
>       if (use_ext_scan(hdev)) {
>               struct hci_cp_le_set_ext_scan_enable cp;
>  
> @@ -1159,6 +1162,11 @@ static void hci_req_set_event_filter(struct 
> hci_request *req)
>               scan = SCAN_PAGE;
>       }
>  
> +     if (scan)
> +             set_bit(SUSPEND_SCAN_ENABLE, hdev->suspend_tasks);
> +     else
> +             set_bit(SUSPEND_SCAN_DISABLE, hdev->suspend_tasks);
> +
>       hci_req_add(req, HCI_OP_WRITE_SCAN_ENABLE, 1, &scan);
>  }
>  
> 

Hi,

This commit caused a regression on entering into suspend for Broadcom
Bluetooth 4330 on Nexus 7:

 Bluetooth: hci0: Timed out waiting for suspend events
 Bluetooth: hci0: Suspend timeout bit: 4
 Bluetooth: hci0: Suspend notifier action (3) failed: -110

I don't see this problem using BCM4329 chip on another device.

Please fix, thanks in advance.

Reply via email to