aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/s390/hypfs/hypfs_diag.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/arch/s390/hypfs/hypfs_diag.c b/arch/s390/hypfs/hypfs_diag.c
index 020e51c063d2..cd4a81be9cf8 100644
--- a/arch/s390/hypfs/hypfs_diag.c
+++ b/arch/s390/hypfs/hypfs_diag.c
@@ -638,18 +638,21 @@ __init int hypfs_diag_init(void)
638 pr_err("The hardware system does not support hypfs\n"); 638 pr_err("The hardware system does not support hypfs\n");
639 return -ENODATA; 639 return -ENODATA;
640 } 640 }
641 rc = diag224_get_name_table();
642 if (rc) {
643 diag204_free_buffer();
644 pr_err("The hardware system does not provide all "
645 "functions required by hypfs\n");
646 }
647 if (diag204_info_type == INFO_EXT) { 641 if (diag204_info_type == INFO_EXT) {
648 rc = hypfs_dbfs_init(); 642 rc = hypfs_dbfs_init();
649 if (rc) 643 if (rc)
650 diag204_free_buffer(); 644 return rc;
651 } 645 }
652 return rc; 646 if (MACHINE_IS_LPAR) {
647 rc = diag224_get_name_table();
648 if (rc) {
649 pr_err("The hardware system does not provide all "
650 "functions required by hypfs\n");
651 debugfs_remove(dbfs_d204_file);
652 return rc;
653 }
654 }
655 return 0;
653} 656}
654 657
655void hypfs_diag_exit(void) 658void hypfs_diag_exit(void)