diff options
author | Olof Johansson <olof@lixom.net> | 2013-02-06 01:55:59 +0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2013-02-06 01:55:59 +0400 |
commit | c1226ff9af84dfa6ef73d95435748569c99b5171 (patch) | |
tree | 794411d5da7c34abafe0e188e499cd8334492ce6 /drivers/firmware/efivars.c | |
parent | 51f29d44414521cc4244958f2a384bcd39d23a6e (diff) | |
parent | c8d4bafe503ca767bbc8f3c54e4acd344ef26346 (diff) | |
download | linux-c1226ff9af84dfa6ef73d95435748569c99b5171.tar.xz |
Merge tag 'omap-for-v3.9/fixes-non-critical-signed-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/fixes-non-critical
From Tony Lindgren:
Few fixes for v3.9 merge window that are not urgent for
the -rc series.
* tag 'omap-for-v3.9/fixes-non-critical-signed-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: using strlcpy instead of strncpy
ARM: OMAP2+: Fix selection of clockevent timer when using device-tree
ARM: OMAP: Fix the use of uninitialized dma_lch_count
ARM: OMAP: make wakeupgen_lock raw
+ Linux 3.8-rc6
Diffstat (limited to 'drivers/firmware/efivars.c')
-rw-r--r-- | drivers/firmware/efivars.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/firmware/efivars.c b/drivers/firmware/efivars.c index 7b1c37497c9a..f5596db0cf58 100644 --- a/drivers/firmware/efivars.c +++ b/drivers/firmware/efivars.c @@ -674,7 +674,7 @@ static int efi_status_to_err(efi_status_t status) err = -EACCES; break; case EFI_NOT_FOUND: - err = -ENOENT; + err = -EIO; break; default: err = -EINVAL; @@ -793,6 +793,7 @@ static ssize_t efivarfs_file_write(struct file *file, spin_unlock(&efivars->lock); efivar_unregister(var); drop_nlink(inode); + d_delete(file->f_dentry); dput(file->f_dentry); } else { @@ -994,7 +995,7 @@ static int efivarfs_unlink(struct inode *dir, struct dentry *dentry) list_del(&var->list); spin_unlock(&efivars->lock); efivar_unregister(var); - drop_nlink(dir); + drop_nlink(dentry->d_inode); dput(dentry); return 0; } @@ -1782,7 +1783,7 @@ efivars_init(void) printk(KERN_INFO "EFI Variables Facility v%s %s\n", EFIVARS_VERSION, EFIVARS_DATE); - if (!efi_enabled) + if (!efi_enabled(EFI_RUNTIME_SERVICES)) return 0; /* For now we'll register the efi directory at /sys/firmware/efi */ @@ -1822,7 +1823,7 @@ err_put: static void __exit efivars_exit(void) { - if (efi_enabled) { + if (efi_enabled(EFI_RUNTIME_SERVICES)) { unregister_efivars(&__efivars); kobject_put(efi_kobj); } |