From: Sai Praneeth <sai.praneeth.prak...@intel.com> Presently, efi_delete_dummy_variable() uses set_variable() which might block and hence kernel prints stack trace with a warning "bad: scheduling from the idle thread!". So, make efi_delete_dummy_variable() use set_variable_nonblocking(), which, as the name suggests doesn't block.
Signed-off-by: Sai Praneeth Prakhya <sai.praneeth.prak...@intel.com> Suggested-by: Andy Lutomirski <l...@kernel.org> Cc: Lee Chun-Yi <j...@suse.com> Cc: Borislav Petkov <b...@alien8.de> Cc: Tony Luck <tony.l...@intel.com> Cc: Will Deacon <will.dea...@arm.com> Cc: Dave Hansen <dave.han...@intel.com> Cc: Mark Rutland <mark.rutl...@arm.com> Cc: Bhupesh Sharma <bhsha...@redhat.com> Cc: Naresh Bhat <naresh.b...@linaro.org> Cc: Ricardo Neri <ricardo.n...@intel.com> Cc: Peter Zijlstra <pet...@infradead.org> Cc: Ravi Shankar <ravi.v.shan...@intel.com> Cc: Matt Fleming <m...@codeblueprint.co.uk> Cc: Dan Williams <dan.j.willi...@intel.com> Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> Cc: Miguel Ojeda <miguel.ojeda.sando...@gmail.com> --- arch/x86/platform/efi/quirks.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/arch/x86/platform/efi/quirks.c b/arch/x86/platform/efi/quirks.c index 36c1f8b9f7e0..6af39dc40325 100644 --- a/arch/x86/platform/efi/quirks.c +++ b/arch/x86/platform/efi/quirks.c @@ -105,12 +105,11 @@ early_param("efi_no_storage_paranoia", setup_storage_paranoia); */ void efi_delete_dummy_variable(void) { - efi.set_variable((efi_char16_t *)efi_dummy_name, - &EFI_DUMMY_GUID, - EFI_VARIABLE_NON_VOLATILE | - EFI_VARIABLE_BOOTSERVICE_ACCESS | - EFI_VARIABLE_RUNTIME_ACCESS, - 0, NULL); + efi.set_variable_nonblocking((efi_char16_t *)efi_dummy_name, + &EFI_DUMMY_GUID, + EFI_VARIABLE_NON_VOLATILE | + EFI_VARIABLE_BOOTSERVICE_ACCESS | + EFI_VARIABLE_RUNTIME_ACCESS, 0, NULL); } /* -- 2.7.4