X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=drivers%2Ffirmware%2Fefi%2Fefivars.c;h=3dc24823919749ebb110f62b9ca5696cdaf67511;hb=b19d69c72d4e3da67f0feb2ecf45d6e60c82baf1;hp=933eb027d527d53aa8fb275b84c5d9b6e2ce3602;hpb=3ea369eea07eb64adf36a6fb7fddb5d082c84143;p=karo-tx-linux.git 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;