lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20250309-awcc-uid-v2-2-5338c6380b2f@gmail.com>
Date: Sun, 09 Mar 2025 00:13:41 -0500
From: Kurt Borja <kuurtb@...il.com>
To: Armin Wolf <W_Armin@....de>, Hans de Goede <hdegoede@...hat.com>, 
 Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
Cc: platform-driver-x86@...r.kernel.org, linux-kernel@...r.kernel.org, 
 Dell.Client.Kernel@...l.com, Kurt Borja <kuurtb@...il.com>
Subject: [PATCH RFC v2 2/2] platform/x86: alienware-wmi-wmax: Check for
 AWCC support using _UID

The WMAX _UID of all devices that support the AWCC interface is "AWCC".
This includes the following devices which were manually verified by
reading their ACPI tables:

  - Dell G16 7630
  - Dell G5 5505 SE
  - Alienware m16 R1
  - Alienware m17 R5 AMD
  - Alienware x15 R2
  - Alienware 17 R5
  - Alienware Aurora R12
  - Alienware Aurora Ryzen Edition

And possibly many more, if not all devices with this interface.

Add a check for "AWCC" _UID in wmax_wmi_probe() as a last resort test
for support.

Signed-off-by: Kurt Borja <kuurtb@...il.com>
---
 drivers/platform/x86/dell/alienware-wmi-wmax.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/drivers/platform/x86/dell/alienware-wmi-wmax.c b/drivers/platform/x86/dell/alienware-wmi-wmax.c
index 46d11b200820cdbaa841fc97e33b339fca42104e..1a81373a9d5937b4ff5511ad2061b6dc6e40b810 100644
--- a/drivers/platform/x86/dell/alienware-wmi-wmax.c
+++ b/drivers/platform/x86/dell/alienware-wmi-wmax.c
@@ -1420,14 +1420,17 @@ static int wmax_wmi_probe(struct wmi_device *wdev, const void *context)
 			.upd_brightness = wmax_wmi_update_brightness,
 		},
 	};
-	int ret;
+	char *uid;
 
-	if (awcc)
-		ret = alienware_awcc_setup(wdev);
-	else
-		ret = alienware_alienfx_setup(&pdata);
+	if (!awcc) {
+		uid = wmidev_get_acpi_device_uid(wdev);
+		if (!uid || strncmp(uid, "AWCC", 4))
+			return alienware_alienfx_setup(&pdata);
 
-	return ret;
+		awcc = &generic_quirks;
+	}
+
+	return alienware_awcc_setup(wdev);
 }
 
 static int wmax_wmi_suspend(struct device *dev)

-- 
2.48.1


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ