linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
To: "Jonas Dreßler" <verdre@v0yd.nl>
Cc: Marcel Holtmann <marcel@holtmann.org>,
	Johan Hedberg <johan.hedberg@gmail.com>,
	asahi@lists.linux.dev,  linux-bluetooth@vger.kernel.org,
	linux-kernel@vger.kernel.org,  netdev@vger.kernel.org
Subject: Re: [PATCH v3 0/4] Disconnect devices before rfkilling adapter
Date: Mon, 8 Jan 2024 13:05:01 -0500	[thread overview]
Message-ID: <CABBYNZ+rDo6ftN1+HdeWm6gij14YF_19WGRP7LM4Vjw-UWOTng@mail.gmail.com> (raw)
In-Reply-To: <20240107180252.73436-1-verdre@v0yd.nl>

Hi Jonas,

On Sun, Jan 7, 2024 at 1:03 PM Jonas Dreßler <verdre@v0yd.nl> wrote:
>
> Apparently the firmware is supposed to power off the bluetooth card
> properly, including disconnecting devices, when we use rfkill to block
> bluetooth. This doesn't work on a lot of laptops though, leading to weird
> issues after turning off bluetooth, like the connection timing out on the
> peripherals which were connected, and bluetooth not connecting properly
> when the adapter is turned on again after rfkilling.
>
> This series uses the rfkill hook in the bluetooth subsystem
> to execute a few more shutdown commands and make sure that all
> devices get disconnected before we close the HCI connection to the adapter.
>
> ---
>
> v1: https://lore.kernel.org/linux-bluetooth/20240102133311.6712-1-verdre@v0yd.nl/
> v2: https://lore.kernel.org/linux-bluetooth/20240102181946.57288-1-verdre@v0yd.nl/
> v3:
>  - Update commit message titles to reflect what's actually happening
>    (disconnecting devices, not sending a power-off command).
>  - Doing the shutdown sequence synchronously instead of async now.
>  - Move HCI_RFKILLED flag back again to be set before shutdown.
>  - Added a "fallback" hci_dev_do_close() to the error path because
>    hci_set_powered_sync() might bail-out early on error.
>
> Jonas Dreßler (4):
>   Bluetooth: Remove HCI_POWER_OFF_TIMEOUT
>   Bluetooth: mgmt: Remove leftover queuing of power_off work
>   Bluetooth: Add new state HCI_POWERING_DOWN
>   Bluetooth: Disconnect connected devices before rfkilling adapter
>
>  include/net/bluetooth/hci.h |  2 +-
>  net/bluetooth/hci_core.c    | 35 +++++++++++++++++++++++++++++++++--
>  net/bluetooth/hci_sync.c    | 16 +++++++++++-----
>  net/bluetooth/mgmt.c        | 30 ++++++++++++++----------------
>  4 files changed, 59 insertions(+), 24 deletions(-)
>
> --
> 2.43.0

I will probably be applying this sortly, but let's try to add tests to
mgmt-tester just to make sure we don't introduce regressions later,
btw it seems there are a few suspend test that do connect, for
example:

Suspend - Success 5 (Pairing - Legacy) - waiting 1 seconds
random: crng init done
  New connection with handle 0x002a
  Test condition complete, 1 left
Suspend - Success 5 (Pairing - Legacy) - waiting done
  Set the system into Suspend via force_suspend
  New Controller Suspend event received
  Test condition complete, 0 left

-- 
Luiz Augusto von Dentz

  parent reply	other threads:[~2024-01-08 18:05 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-07 18:02 [PATCH v3 0/4] Disconnect devices before rfkilling adapter Jonas Dreßler
2024-01-07 18:02 ` [PATCH v3 1/4] Bluetooth: Remove HCI_POWER_OFF_TIMEOUT Jonas Dreßler
2024-01-07 18:34   ` Disconnect devices before rfkilling adapter bluez.test.bot
2024-01-07 18:02 ` [PATCH v3 2/4] Bluetooth: mgmt: Remove leftover queuing of power_off work Jonas Dreßler
2024-01-07 18:02 ` [PATCH v3 3/4] Bluetooth: Add new state HCI_POWERING_DOWN Jonas Dreßler
2024-01-07 18:02 ` [PATCH v3 4/4] Bluetooth: Disconnect connected devices before rfkilling adapter Jonas Dreßler
2024-01-08 18:05 ` Luiz Augusto von Dentz [this message]
2024-01-08 22:25   ` [PATCH v3 0/4] Disconnect " Jonas Dreßler
2024-01-24 18:00     ` Jonas Dreßler
2024-01-24 18:10       ` Luiz Augusto von Dentz
2024-01-08 19:50 ` patchwork-bot+bluetooth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CABBYNZ+rDo6ftN1+HdeWm6gij14YF_19WGRP7LM4Vjw-UWOTng@mail.gmail.com \
    --to=luiz.dentz@gmail.com \
    --cc=asahi@lists.linux.dev \
    --cc=johan.hedberg@gmail.com \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcel@holtmann.org \
    --cc=netdev@vger.kernel.org \
    --cc=verdre@v0yd.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).