diff options
| author | Takashi Iwai <tiwai@suse.de> | 2013-12-16 15:53:52 +0100 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2013-12-16 15:53:52 +0100 |
| commit | d09476018bee39495d6ece7a2e069de29a9c0ed5 (patch) | |
| tree | 866fff4323f94681e6b423f269f0549df0a34066 /drivers/firmware/efi/efivars.c | |
| parent | 337bb336b95bd7884fa3a194eafbdf52a0216b2e (diff) | |
| parent | afdcd431cebe3498db9aa963c780fdd5099917ec (diff) | |
Merge branch 'for-linus' into for-next
Diffstat (limited to 'drivers/firmware/efi/efivars.c')
| -rw-r--r-- | drivers/firmware/efi/efivars.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/firmware/efi/efivars.c b/drivers/firmware/efi/efivars.c index 933eb027d527..3dc248239197 100644 --- a/drivers/firmware/efi/efivars.c +++ b/drivers/firmware/efi/efivars.c @@ -383,12 +383,16 @@ static ssize_t efivar_delete(struct file *filp, struct kobject *kobj, else if (__efivar_entry_delete(entry)) err = -EIO; - efivar_entry_iter_end(); - - if (err) + if (err) { + efivar_entry_iter_end(); return err; + } - efivar_unregister(entry); + if (!entry->scanning) { + efivar_entry_iter_end(); + efivar_unregister(entry); + } else + efivar_entry_iter_end(); /* It's dead Jim.... */ return count; |
