Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

[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
Loading
Loading
Loading
Loading
+11 −8
Original line number Diff line number Diff line
@@ -638,18 +638,21 @@ __init int hypfs_diag_init(void)
		pr_err("The hardware system does not support hypfs\n");
		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();
		if (rc) {
		diag204_free_buffer();
			pr_err("The hardware system does not provide all "
			       "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)