Commit 3c8ebca0 authored by Michael Holzheu's avatar Michael Holzheu Committed by Martin Schwidefsky

[S390] hypfs: Fix error handling in hypfs_diag initialization

Fix the following two error handling bugs in hypfs_diag_init():
* No need for calling diag204_free_buffer()
* Initialize name table only in case of LPAR and prevent error message
  on non-LPAR systems.
Signed-off-by: default avatarMichael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 0b52783d
...@@ -638,18 +638,21 @@ __init int hypfs_diag_init(void) ...@@ -638,18 +638,21 @@ __init int hypfs_diag_init(void)
pr_err("The hardware system does not support hypfs\n"); pr_err("The hardware system does not support hypfs\n");
return -ENODATA; return -ENODATA;
} }
if (diag204_info_type == INFO_EXT) {
rc = hypfs_dbfs_init();
if (rc)
return rc;
}
if (MACHINE_IS_LPAR) {
rc = diag224_get_name_table(); rc = diag224_get_name_table();
if (rc) { if (rc) {
diag204_free_buffer();
pr_err("The hardware system does not provide all " pr_err("The hardware system does not provide all "
"functions required by hypfs\n"); "functions required by hypfs\n");
debugfs_remove(dbfs_d204_file);
return rc;
} }
if (diag204_info_type == INFO_EXT) {
rc = hypfs_dbfs_init();
if (rc)
diag204_free_buffer();
} }
return rc; return 0;
} }
void hypfs_diag_exit(void) void hypfs_diag_exit(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment