aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firmware/efi/runtime-map.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/firmware/efi/runtime-map.c')
-rw-r--r--drivers/firmware/efi/runtime-map.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/firmware/efi/runtime-map.c b/drivers/firmware/efi/runtime-map.c
index 87b8e3b900d2..5c55227a34c8 100644
--- a/drivers/firmware/efi/runtime-map.c
+++ b/drivers/firmware/efi/runtime-map.c
@@ -120,7 +120,8 @@ add_sysfs_runtime_map_entry(struct kobject *kobj, int nr)
120 entry = kzalloc(sizeof(*entry), GFP_KERNEL); 120 entry = kzalloc(sizeof(*entry), GFP_KERNEL);
121 if (!entry) { 121 if (!entry) {
122 kset_unregister(map_kset); 122 kset_unregister(map_kset);
123 return entry; 123 map_kset = NULL;
124 return ERR_PTR(-ENOMEM);
124 } 125 }
125 126
126 memcpy(&entry->md, efi_runtime_map + nr * efi_memdesc_size, 127 memcpy(&entry->md, efi_runtime_map + nr * efi_memdesc_size,
@@ -132,6 +133,7 @@ add_sysfs_runtime_map_entry(struct kobject *kobj, int nr)
132 if (ret) { 133 if (ret) {
133 kobject_put(&entry->kobj); 134 kobject_put(&entry->kobj);
134 kset_unregister(map_kset); 135 kset_unregister(map_kset);
136 map_kset = NULL;
135 return ERR_PTR(ret); 137 return ERR_PTR(ret);
136 } 138 }
137 139
@@ -195,8 +197,6 @@ out_add_entry:
195 entry = *(map_entries + j); 197 entry = *(map_entries + j);
196 kobject_put(&entry->kobj); 198 kobject_put(&entry->kobj);
197 } 199 }
198 if (map_kset)
199 kset_unregister(map_kset);
200out: 200out:
201 return ret; 201 return ret;
202} 202}