From: Sean Rhodes <sean@starlabs.systems>
To: linux-bluetooth@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Sean Rhodes <sean@starlabs.systems>,
Heikki Krogerus <heikki.krogerus@linux.intel.com>,
"Chia-Lin Kao (AceLan)" <acelan.kao@canonical.com>,
Xu Yang <xu.yang_2@nxp.com>, Kees Cook <kees@kernel.org>,
linux-usb@vger.kernel.org, Marcel Holtmann <marcel@holtmann.org>,
Luiz Augusto von Dentz <luiz.dentz@gmail.com>,
linux-kernel@vger.kernel.org, Paul Menzel <pmenzel@molgen.mpg.de>
Subject: [PATCH v2 0/2] Bluetooth: restore powered-off Intel adapters
Date: Thu, 17 Sep 2026 22:19:50 +0100 [thread overview]
Message-ID: <cover.1789679980.git.sean@starlabs.systems> (raw)
ACPI-managed internal USB ports can lose power while the Bluetooth adapter
is closed. Intel controllers then lose their RAM firmware, and btusb's lack
of a reset-resume callback causes the interfaces to rebind.
Preserve the binding only for a closed, fixed Intel combined adapter on an
ACPI-power-manageable port, then rerun Intel setup when the adapter is next
opened. Other adapters, and resets while HCI is running, retain the existing
rebind behavior.
The first patch fixes detection of ACPI port power management while USB ports
are being registered. The second adds the restricted btusb reset-resume path.
Tested on a Star Labs Lite Mk IV with Intel 8087:0aaa. Three Bluetooth off/on
cycles reached ACPI D3cold, restored the same hci0 without a USB disconnect,
and discovery found nearby devices after resume. With Bluetooth powered off
before S3, the controller also reset in place and powered on successfully
after resume.
Changes since v1:
- replace the open-adapter remote-wake policy with closed-adapter recovery;
- split the USB registration fix from the Bluetooth change;
- restrict recovery to fixed Intel combined adapters on ACPI-managed ports;
- add runtime testing covering D3cold, discovery and powered-off S3.
v1: https://lore.kernel.org/linux-bluetooth/48576c0c4615c9f34f44935216e63d48518f9d46.1785838429.git.sean@starlabs.systems/
Sean Rhodes (2):
usb: core: check ACPI port power during registration
Bluetooth: btusb: restore powered-off Intel adapters
drivers/bluetooth/btusb_main.c | 33 +++++++++++++++++++++++++++++++++
drivers/usb/core/port.c | 7 +++----
drivers/usb/core/usb-acpi.c | 7 +++++++
drivers/usb/core/usb.h | 6 ++++++
4 files changed, 49 insertions(+), 4 deletions(-)
next reply other threads:[~2026-09-17 21:19 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-17 21:19 Sean Rhodes [this message]
2026-09-17 21:19 ` [PATCH v2 1/2] usb: core: check ACPI port power during registration Sean Rhodes
2026-09-17 21:19 ` [PATCH v2 2/2] Bluetooth: btusb: restore powered-off Intel adapters Sean Rhodes
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=cover.1789679980.git.sean@starlabs.systems \
--to=sean@starlabs.systems \
--cc=acelan.kao@canonical.com \
--cc=gregkh@linuxfoundation.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=kees@kernel.org \
--cc=linux-bluetooth@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=luiz.dentz@gmail.com \
--cc=marcel@holtmann.org \
--cc=pmenzel@molgen.mpg.de \
--cc=xu.yang_2@nxp.com \
/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
all inboxes | Powered by JetHome®