1. 06 Oct, 2021 2 commits
    • Luiz Augusto von Dentz's avatar
      Bluetooth: Fix handling of SUSPEND_DISCONNECTING · 83775456
      Luiz Augusto von Dentz authored
      When SUSPEND_DISCONNECTING bit is set that means Disconnect is pending
      but the code was evaluating if the list is empty before calling
      hci_conn_del which does the actual cleanup and remove the connection
      from the list thus the bit is never cleared causing the suspend
      procedure to always timeout when there are connections to be
      disconnected:
      
      Suspend/Resume - Success 5 (Pairing - Legacy) - waiting done
        Set the system into Suspend via force_suspend
      = mgmt-tester: Suspend/Resume - Success 5 (Pairing -..   17:03:13.200458
      = mgmt-tester: Set the system into Suspend via force_suspend    17:03:13.205812
      < HCI Command: Write Scan E.. (0x03|0x001a) plen 1  #122 [hci0] 17:03:13.213561
              Scan enable: No Scans (0x00)
      > HCI Event: Command Complete (0x0e) plen 4         #123 [hci0] 17:03:13.214710
            Write Scan Enable (0x03|0x001a) ncmd 1
              Status: Success (0x00)
      < HCI Command: Disconnect (0x01|0x0006) plen 3      #124 [hci0] 17:03:13.215830
              Handle: 42
              Reason: Remote Device Terminated due to Power Off (0x15)
      > HCI Event: Command Status (0x0f) plen 4           #125 [hci0] 17:03:13.216602
            Disconnect (0x01|0x0006) ncmd 1
              Status: Success (0x00)
      > HCI Event: Disconnect Complete (0x05) plen 4      #126 [hci0] 17:03:13.217342
              Status: Success (0x00)
              Handle: 42
              Reason: Remote Device Terminated due to Power Off (0x15)
      @ MGMT Event: Device Disconn.. (0x000c) plen 8  {0x0002} [hci0] 17:03:13.217688
              BR/EDR Address: 00:AA:01:01:00:00 (Intel Corporation)
              Reason: Connection terminated by local host for suspend (0x05)
      @ MGMT Event: Device Disconn.. (0x000c) plen 8  {0x0001} [hci0] 17:03:13.217688
              BR/EDR Address: 00:AA:01:01:00:00 (Intel Corporation)
              Reason: Connection terminated by local host for suspend (0x05)
      Suspend/Resume - Success 5 (Pairing - Legacy) - test timed out
      = mgmt-tester: Suspend/Resume - Success 5 (Pairing -..   17:03:13.939317
      Suspend/Resume - Success 5 (Pairing - Legacy) - teardown
      = mgmt-tester: Suspend/Resume - Success 5 (Pairing -..   17:03:13.947267
      [   13.284291] Bluetooth: hci0: Timed out waiting for suspend events
      [   13.287324] Bluetooth: hci0: Suspend timeout bit: 6
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      83775456
    • Luiz Augusto von Dentz's avatar
      Bluetooth: hci_vhci: Fix calling hci_{suspend,resume}_dev · d16e6d19
      Luiz Augusto von Dentz authored
      Defer calls to hci_{suspend,resume}_dev to work so it doesn't block the
      processing of the events.
      Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
      Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
      d16e6d19
  2. 05 Oct, 2021 29 commits
  3. 04 Oct, 2021 9 commits