On 2020-11-23 11:53 PM, Ard Biesheuvel wrote: > On Mon, 23 Nov 2020 at 16:11, Amadeusz Sławiński > <amadeuszx.slawinski@xxxxxxxxxxxxxxx> wrote: >> >> Efivar allows for overriding of SSDT tables, however starting with >> commit bf67fad19e493b ("efi: Use more granular check for availability for variable services") >> this use case is broken. When loading SSDT generic ops should be set >> first, however mentioned commit reversed order of operations. Fix this >> by restoring original order of operations. >> >> Fixes: bf67fad19e493b ("efi: Use more granular check for availability for variable services") >> Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@xxxxxxxxxxxxxxx> >> --- >> drivers/firmware/efi/efi.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c >> index 5e5480a0a32d..6c6eec044a97 100644 >> --- a/drivers/firmware/efi/efi.c >> +++ b/drivers/firmware/efi/efi.c >> @@ -390,10 +390,10 @@ static int __init efisubsys_init(void) >> >> if (efi_rt_services_supported(EFI_RT_SUPPORTED_GET_VARIABLE | >> EFI_RT_SUPPORTED_GET_NEXT_VARIABLE_NAME)) { >> - efivar_ssdt_load(); >> error = generic_ops_register(); >> if (error) >> goto err_put; >> + efivar_ssdt_load(); >> platform_device_register_simple("efivars", 0, NULL, 0); >> } >> > > Thanks. Queued as a fix. > Sorry for the late reply. This is a good finding by Amadeo. If in any case you need more credibility, feel free to apply my: Tested-by: Cezary Rojewski <cezary.rojewski@xxxxxxxxx> Czarek