platform/x86: dell-rbtn: Improve explanation about DELLABC6
authorAndy Lutomirski <luto@kernel.org>
Wed, 17 Feb 2016 20:43:06 +0000 (12:43 -0800)
committerDarren Hart (VMware) <dvhart@infradead.org>
Sat, 3 Jun 2017 19:23:43 +0000 (12:23 -0700)
According to Mario at Dell, the DELLABC6 device should not be used on a
Linux system. It also conflicts with Intel-HID and its interactions with
Network Manager. Document that we are aware of the device, but that we
are intentionally ignoring it.

Signed-off-by: Andy Lutomirski <luto@kernel.org>
[dvhart: New commit message and minor comment wording fixes]
Cc: Mario Limonciello <mario_limonciello@dell.com>
Cc: "Pali Rohár" <pali.rohar@gmail.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
drivers/platform/x86/dell-rbtn.c

index dcd9f40a4b1898279a17b6121a1c39804ddef43d..f5c53ea871585bd2f2062e6f35700241f4f622b4 100644 (file)
@@ -221,16 +221,27 @@ static const struct acpi_device_id rbtn_ids[] = {
 
        /*
         * This driver can also handle the "DELLABC6" device that
-        * appears on the XPS 13 9350, but that device is disabled
-        * by the DSDT unless booted with acpi_osi="!Windows 2012"
-        * acpi_osi="!Windows 2013".  Even if we boot that and bind
-        * the driver, we seem to have inconsistent behavior in
-        * which NetworkManager can get out of sync with the rfkill
-        * state.
+        * appears on the XPS 13 9350, but that device is disabled by
+        * the DSDT unless booted with acpi_osi="!Windows 2012"
+        * acpi_osi="!Windows 2013".
         *
-        * On the XPS 13 9350 and similar laptops, we're not supposed to
-        * use DELLABC6 at all.  Instead, we handle the rfkill button
-        * via the intel-hid driver.
+        * According to Mario at Dell:
+        *
+        *  DELLABC6 is a custom interface that was created solely to
+        *  have airplane mode support for Windows 7.  For Windows 10
+        *  the proper interface is to use that which is handled by
+        *  intel-hid. A OEM airplane mode driver is not used.
+        *
+        *  Since the kernel doesn't identify as Windows 7 it would be
+        *  incorrect to do attempt to use that interface.
+        *
+        * Even if we override _OSI and bind to DELLABC6, we end up with
+        * inconsistent behavior in which userspace can get out of sync
+        * with the rfkill state as it conflicts with events from
+        * intel-hid.
+        *
+        * The upshot is that it is better to just ignore DELLABC6
+        * devices.
         */
 
        { "", 0 },