All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans de Goede <hdegoede@redhat.com>
To: Mark Gross <markgross@kernel.org>, Andy Shevchenko <andy@kernel.org>
Cc: acpi4asus-user@lists.sourceforge.net,
	platform-driver-x86@vger.kernel.org,
	"Luke D . Jones" <luke@ljones.dev>
Subject: Re: [PATCH] platform/x86: asus-wmi: Fix driver not binding when fan curve control probe fails
Date: Wed, 27 Apr 2022 16:15:52 +0200	[thread overview]
Message-ID: <58704fe9-5621-018a-9dfd-9e26bc612992@redhat.com> (raw)
In-Reply-To: <20220427114956.332919-1-hdegoede@redhat.com>

Hi,

On 4/27/22 13:49, Hans de Goede wrote:
> Before this commit fan_curve_check_present() was trying to not cause
> the probe to fail on devices without fan curve control by testing for
> known error codes returned by asus_wmi_evaluate_method_buf().
> 
> Checking for ENODATA or ENODEV, with the latter being returned by this
> function when an ACPI integer with a value of ASUS_WMI_UNSUPPORTED_METHOD
> is returned. But for other ACPI integer returns this function just returns
> them as is, including the ASUS_WMI_DSTS_UNKNOWN_BIT value of 2.
> 
> On the Asus U36SD ASUS_WMI_DSTS_UNKNOWN_BIT gets returned, leading to:
> 
>   asus-nb-wmi: probe of asus-nb-wmi failed with error 2
> 
> Instead of playing whack a mole with error codes here, simply treat all
> errors as there not being any fan curves, fixing the driver no longer
> loading on the Asus U36SD laptop.
> 
> Fixes: e3d13da7f77d ("platform/x86: asus-wmi: Fix regression when probing for fan curve control")
> BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=2079125
> Cc: Luke D. Jones <luke@ljones.dev>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>

I've added this to my review-hans (soon to be for-next) branch now.

Regards,

Hans



> ---
>  drivers/platform/x86/asus-wmi.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
> index 2104a2621e50..20efcf82ce8d 100644
> --- a/drivers/platform/x86/asus-wmi.c
> +++ b/drivers/platform/x86/asus-wmi.c
> @@ -2223,9 +2223,10 @@ static int fan_curve_check_present(struct asus_wmi *asus, bool *available,
>  
>  	err = fan_curve_get_factory_default(asus, fan_dev);
>  	if (err) {
> -		if (err == -ENODEV || err == -ENODATA)
> -			return 0;
> -		return err;
> +		pr_debug("fan_curve_get_factory_default(0x%08x) failed: %d\n",
> +			 fan_dev, err);
> +		/* Don't cause probe to fail on devices without fan-curves */
> +		return 0;
>  	}
>  
>  	*available = true;


      reply	other threads:[~2022-04-27 14:16 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-27 11:49 [PATCH] platform/x86: asus-wmi: Fix driver not binding when fan curve control probe fails Hans de Goede
2022-04-27 14:15 ` Hans de Goede [this message]

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=58704fe9-5621-018a-9dfd-9e26bc612992@redhat.com \
    --to=hdegoede@redhat.com \
    --cc=acpi4asus-user@lists.sourceforge.net \
    --cc=andy@kernel.org \
    --cc=luke@ljones.dev \
    --cc=markgross@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.