Hi all, Today's linux-next merge of the ia64 tree got a conflict in drivers/firmware/efivars.c between commit 83e68189745a ("efi: Make 'efi_enabled' a function to query EFI facilities") from the tree and commit a93bc0c6e07e ("efi_pstore: Introducing workqueue updating sysfs") from the ia64 tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwell sfr@xxxxxxxxxxxxxxxx diff --cc drivers/firmware/efivars.c index f5596db,6922511..0000000 --- a/drivers/firmware/efivars.c +++ b/drivers/firmware/efivars.c @@@ -790,10 -798,9 +798,10 @@@ static ssize_t efivarfs_file_write(stru } else if (status == EFI_NOT_FOUND) { list_del(&var->list); - spin_unlock(&efivars->lock); + spin_unlock_irq(&efivars->lock); efivar_unregister(var); drop_nlink(inode); + d_delete(file->f_dentry); dput(file->f_dentry); } else { @@@ -993,9 -1000,9 +1001,9 @@@ static int efivarfs_unlink(struct inod if (status == EFI_SUCCESS || status == EFI_NOT_FOUND) { list_del(&var->list); - spin_unlock(&efivars->lock); + spin_unlock_irq(&efivars->lock); efivar_unregister(var); - drop_nlink(dir); + drop_nlink(dentry->d_inode); dput(dentry); return 0; } @@@ -1823,7 -1906,9 +1907,9 @@@ err_put static void __exit efivars_exit(void) { + cancel_work_sync(&efivar_work); + - if (efi_enabled) { + if (efi_enabled(EFI_RUNTIME_SERVICES)) { unregister_efivars(&__efivars); kobject_put(efi_kobj); }
Attachment:
pgpqKXjbbvXoV.pgp
Description: PGP signature