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] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 03 Apr 2023 12:46:24 +0200
From:   Benjamin Asbach <asbachb.kernel@...l.it>
To:     Hans de Goede <hdegoede@...hat.com>
Cc:     Benjamin Asbach <asbachb.kernel@...l.it>,
        Mario Limonciello <mario.limonciello@....com>,
        Mark Pearson <markpearson@...ovo.com>,
        Henrique de Moraes Holschuh <hmh@....eng.br>,
        Mark Gross <markgross@...nel.org>,
        ibm-acpi-devel@...ts.sourceforge.net,
        platform-driver-x86@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] platform/x86: thinkpad_acpi: Add missing T14s Gen1 type
 to s2idle quirk list

On 2023-04-03 12:03, Hans de Goede wrote:
> Hi,
> 
> On 4/1/23 01:24, Benjamin Asbach wrote:
>>> Lenovo laptops that contain NVME SSDs across a variety of generations 
>>> have
>>> trouble resuming from suspend to idle when the IOMMU translation 
>>> layer is
>>> active for the NVME storage device.
>>> 
>>> This generally manifests as a large resume delay or page faults. 
>>> These
>>> delays and page faults occur as a result of a Lenovo BIOS specific 
>>> SMI
>>> that runs during the D3->D0 transition on NVME devices.
>> 
>> Link: 
>> https://lore.kernel.org/all/20220503183420.348-1-mario.limonciello@amd.com/
>> 
>> As Lenovo distributes T14s Gen1 laptops with different product names
>> a missing one is added by this patch.
>> 
>> Note: Based on lenovo support page there might be some more variants 
>> which
>> are not represented in s2idle quirk list.
> 
> Can you provide some more in info on this? Then Mark can maybe check
> if we need to add more models ?

Sure. When you go to https://pcsupport.lenovo.com/us/en/ and type in any 
of the
models in that quirk list - for example `T14 Gen2` beside `20XK` there's 
also `20XL`.
I assume - but cannot confirm - that the other types suffer the same 
firmware issue.

For my model the issue only arised after I upgraded the original NVMe 
with a bigger one.

Greetings,
Benjamin

> Mark, generally speaking it may help to do a DMI_EXACT_MATCH on
> DMI_PRODUCT_VERSION with ThinkPads ? That contains the human
> readable model string instead of things like "20UJ", and I guess
> that we want to e.g. apply the s2idle quirk to all "T14s Gen1 AMD"
> ThinkPads.
> 
>> 
>> Signed-off-by: Benjamin Asbach <asbachb.kernel@...l.it>
>> Tested-by: Benjamin Asbach <asbachb.kernel@...l.it>
> 
> Thank you for your patch, I've applied this patch to my fixes
> branch:
> https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=fixes
> 
> I will include this patch in my next fixes pull-req to Linus
> for the current kernel development cycle.
> 
> Regards,
> 
> Hans
> 
> 
> 
> 
> 
>> 
>> Link: https://bbs.archlinux.org/viewtopic.php?pid=2084655#p2084655
>> ---
>>  drivers/platform/x86/thinkpad_acpi.c | 9 +++++++++
>>  1 file changed, 9 insertions(+)
>> 
>> diff --git a/drivers/platform/x86/thinkpad_acpi.c 
>> b/drivers/platform/x86/thinkpad_acpi.c
>> index 32c10457399e..57428d7a392d 100644
>> --- a/drivers/platform/x86/thinkpad_acpi.c
>> +++ b/drivers/platform/x86/thinkpad_acpi.c
>> @@ -4478,6 +4478,15 @@ static const struct dmi_system_id fwbug_list[] 
>> __initconst = {
>>  			DMI_MATCH(DMI_PRODUCT_NAME, "20UH"),
>>  		}
>>  	},
>> +	{
>> +		.ident = "T14s Gen1 AMD",
>> +		.driver_data = &quirk_s2idle_bug,
>> +		.matches = {
>> +			DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
>> +			DMI_MATCH(DMI_PRODUCT_NAME, "20UJ"),
>> +		}
>> +	},
>> +
>>  	{
>>  		.ident = "P14s Gen1 AMD",
>>  		.driver_data = &quirk_s2idle_bug,

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ