Skip to content

Commit

Permalink
platform/x86: asus-wmi: don't fail if platform_profile already regist…
Browse files Browse the repository at this point in the history
…ered

On some newer laptops ASUS laptops SPS support is advertised but not
actually used, causing the AMD driver to register as a platform_profile
handler.

If this happens then the asus_wmi driver would error with -EEXIST when
trying to register its own handler leaving the user with a possibly
unusable system. This is especially true for laptops with an MCU that emit
a stream of HID packets, some of which can be misinterpreted as shutdown
signals.

We can safely continue loading the driver instead of bombing out.

Signed-off-by: Luke D. Jones <luke@ljones.dev>
Link: https://lore.kernel.org/r/20240910045443.678145-1-luke@ljones.dev
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
  • Loading branch information
Luke D. Jones authored and Hans de Goede committed Sep 11, 2024
1 parent f965e5b commit 8e8895c
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion drivers/platform/x86/asus-wmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -3910,8 +3910,13 @@ static int platform_profile_setup(struct asus_wmi *asus)
asus->platform_profile_handler.choices);

err = platform_profile_register(&asus->platform_profile_handler);
if (err)
if (err == -EEXIST) {
pr_warn("%s, a platform_profile handler is already registered\n", __func__);
return 0;
} else if (err) {
pr_err("%s, failed at platform_profile_register: %d\n", __func__, err);
return err;
}

asus->platform_profile_support = true;
return 0;
Expand Down

0 comments on commit 8e8895c

Please sign in to comment.