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); > } > > -- > 2.25.1 > Thanks. Queued as a fix.