Re: [External] [PATCH 1/2] platform/x86: thinkpad_acpi: Restore X1 Carbon 9th Gen dual fan quirk

From: Thomas Weißschuh
Date: Sat Apr 30 2022 - 08:22:27 EST


Hi Mark,

On 2022-04-29 21:25-0400, Mark Pearson wrote:
> Hi Lyude
>
> On 4/29/22 17:14, Lyude Paul wrote:
> > The new method of probing dual fan support introduced in:
> >
> > bf779aaf56ea ("platform/x86: thinkpad_acpi: Add dual fan probe")
> >
> > While this commit says this works on the X1 Carbon 9th Gen, it actually
> > just results in hiding the second fan on my local machine. Additionally,
> > I'm fairly sure this machine powers on quite often without either of the
> > two fans spinning.
> >
> > So let's fix this by adding back the dual fan quirk for the X1 Carbon 9th
> > Gen.
> >
> [..]
>
> I just double checked this on my X1C9 - and it's working correctly. 2nd
> fan is detected correctly.
>
> I'd rather understand why it's not working on your setup then just
> re-introduce the quirk.
>
> What happens on your system when the
> res = fan2_get_speed(&speed);
> is called? If that is failing it means your 2nd fan isn't responding and
> that's not supposed to happen. Could you let me know if you get an error
> code, if it happens every boot, etc
> I assume when the function is called later it works successfully?

I have the same issue.

To me it looks like this:

Probing for the second fan calls fan2_get_speed(), this calls
fan_select_fan2() which in turn checks that tp_features.second_fan is set.
But at this point in the tp_features.second_fan can not yet be set because it
is either set from quirks or *after* the probing.

Maybe some of the matches for the quirk TPACPI_FAN_2FAN should also have
matched this device?
It doesn't do so on my device.

> Also please confirm which BIOS and EC version you have.

Linux: 5.17.5
BIOS Revision: 1.51
Firmware Revision: 1.32

Thomas