From: Pedro Caldeira <pdrocaldeira@gmail.com>
To: "Lee, Chun-Yi" <jlee@suse.com>,
"Hans de Goede" <hansg@kernel.org>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
Cc: Pedro Caldeira <pdrocaldeira@gmail.com>,
platform-driver-x86@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH] platform/x86: acer-wmi: Keep Bluetooth powered on Aspire E5-573
Date: Sun, 1 Nov 2026 16:24:44 -0300 [thread overview]
Message-ID: <20261101192446.5615-1-pdrocaldeira@gmail.com> (raw)
The SMBIOS type AAh table of the Aspire E5-573 reports a communication
button bitmap of 0x1 (WiFi only), although the laptop has internal
Bluetooth.
wmid3_set_device_status() reads the device states using this bitmap and
writes the result back, which loses the Bluetooth bit. Any write to the
acer-wireless rfkill device therefore powers Bluetooth off, even if the
WiFi state does not change. Userspace does such writes during boot, and
Bluetooth cannot be turned back on as it has no rfkill device.
Add a quirk that adds Bluetooth to the bitmap and to the capabilities.
Tested on BIOS V1.37 with an Intel 8260 card (USB 8087:0a2b) replacing
the original one: Bluetooth survives boot and acer-wireless writes, and
the new acer-bluetooth rfkill device blocks and unblocks it.
Fixes: 1d1fc8a75fec ("acer-wmi: replaced the hard coded bitmap by the communication devices bitmap from SMBIOS")
Assisted-by: LLM
Signed-off-by: Pedro Caldeira <pdrocaldeira@gmail.com>
---
Reproducer without this patch:
# rfkill unblock <index of acer-wireless>
usb 1-5: USB disconnect, device number 6
Runtime-tested with the same change on v7.2.11; only build-tested on
for-next. Not tested with the laptop's original card.
https://bugzilla.kernel.org/show_bug.cgi?id=190641 reports the same
symptom on an E5-573G with its original card. I left that model out
because I have no hardware to test it.
drivers/platform/x86/acer-wmi.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wmi.c
index 3a018fdf5..60028fe9f 100644
--- a/drivers/platform/x86/acer-wmi.c
+++ b/drivers/platform/x86/acer-wmi.c
@@ -406,6 +406,7 @@ struct quirk_entry {
bool hwmon;
bool platform_profile;
bool pwm;
+ bool commun_bluetooth;
};
static struct quirk_entry *quirks;
@@ -430,6 +431,11 @@ static void __init set_quirks(void)
if (quirks->pwm)
interface->capability |= ACER_CAP_PWM;
+
+ if (quirks->commun_bluetooth) {
+ commun_func_bitmap |= ACER_WMID3_GDS_BLUETOOTH;
+ interface->capability |= ACER_CAP_BLUETOOTH;
+ }
}
static int __init dmi_matched(const struct dmi_system_id *dmi)
@@ -454,6 +460,11 @@ static struct quirk_entry quirk_acer_aspire_1520 = {
.brightness = -1,
};
+/* The type AAh table omits the internal Bluetooth device */
+static struct quirk_entry quirk_acer_aspire_e5_573 = {
+ .commun_bluetooth = true,
+};
+
static struct quirk_entry quirk_acer_aspire_a315_58g = {
.hwmon = true,
};
@@ -663,6 +674,15 @@ static const struct dmi_system_id acer_quirks[] __initconst = {
},
.driver_data = &quirk_acer_aspire_a315_58g,
},
+ {
+ .callback = dmi_matched,
+ .ident = "Acer Aspire E5-573",
+ .matches = {
+ DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Acer"),
+ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Aspire E5-573"),
+ },
+ .driver_data = &quirk_acer_aspire_e5_573,
+ },
{
.callback = dmi_matched,
.ident = "Acer TravelMate 2490",
--
2.56.0
reply other threads:[~2026-11-01 19:25 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=20261101192446.5615-1-pdrocaldeira@gmail.com \
--to=pdrocaldeira@gmail.com \
--cc=hansg@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=jlee@suse.com \
--cc=linux-kernel@vger.kernel.org \
--cc=platform-driver-x86@vger.kernel.org \
/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®