[PATCH v2 05/15] ACPI: platform_profile: Move sanity check out of the mutex

From: Mario Limonciello
Date: Sun Oct 27 2024 - 22:03:20 EST


The sanity check that the platform handler had choices set doesn't
need the mutex taken. Move it to earlier in the registration.

Tested-by: Matthew Schwartz <matthew.schwartz@xxxxxxxxx>
Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>
---
drivers/acpi/platform_profile.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/acpi/platform_profile.c b/drivers/acpi/platform_profile.c
index 0c60fc970b6e8..c20256bb39579 100644
--- a/drivers/acpi/platform_profile.c
+++ b/drivers/acpi/platform_profile.c
@@ -180,6 +180,12 @@ int platform_profile_register(struct platform_profile_handler *pprof)
{
int err;

+ /* Sanity check the profile handler field are set */
+ if (!pprof || bitmap_empty(pprof->choices, PLATFORM_PROFILE_LAST) ||
+ !pprof->profile_set || !pprof->profile_get) {
+ return -EINVAL;
+ }
+
mutex_lock(&profile_lock);
/* We can only have one active profile */
if (cur_profile) {
@@ -187,13 +193,6 @@ int platform_profile_register(struct platform_profile_handler *pprof)
return -EEXIST;
}

- /* Sanity check the profile handler field are set */
- if (!pprof || bitmap_empty(pprof->choices, PLATFORM_PROFILE_LAST) ||
- !pprof->profile_set || !pprof->profile_get) {
- mutex_unlock(&profile_lock);
- return -EINVAL;
- }
-
err = sysfs_create_group(acpi_kobj, &platform_profile_group);
if (err) {
mutex_unlock(&profile_lock);
--
2.43.0