|
@@ -110,7 +110,8 @@ int coreboot_table_init(struct device *dev, void __iomem *ptr)
|
|
|
|
|
|
if (strncmp(header.signature, "LBIO", sizeof(header.signature))) {
|
|
if (strncmp(header.signature, "LBIO", sizeof(header.signature))) {
|
|
pr_warn("coreboot_table: coreboot table missing or corrupt!\n");
|
|
pr_warn("coreboot_table: coreboot table missing or corrupt!\n");
|
|
- return -ENODEV;
|
|
|
|
|
|
+ ret = -ENODEV;
|
|
|
|
+ goto out;
|
|
}
|
|
}
|
|
|
|
|
|
ptr_entry = (void *)ptr_header + header.header_bytes;
|
|
ptr_entry = (void *)ptr_header + header.header_bytes;
|
|
@@ -137,7 +138,8 @@ int coreboot_table_init(struct device *dev, void __iomem *ptr)
|
|
|
|
|
|
ptr_entry += entry.size;
|
|
ptr_entry += entry.size;
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+out:
|
|
|
|
+ iounmap(ptr);
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
EXPORT_SYMBOL(coreboot_table_init);
|
|
EXPORT_SYMBOL(coreboot_table_init);
|
|
@@ -146,7 +148,6 @@ int coreboot_table_exit(void)
|
|
{
|
|
{
|
|
if (ptr_header) {
|
|
if (ptr_header) {
|
|
bus_unregister(&coreboot_bus_type);
|
|
bus_unregister(&coreboot_bus_type);
|
|
- iounmap(ptr_header);
|
|
|
|
ptr_header = NULL;
|
|
ptr_header = NULL;
|
|
}
|
|
}
|
|
|
|
|