Преглед изворни кода

[S390] zfcpdump: Do not initialize zfcpdump in kdump mode

When the kernel is started in kdump mode, zfcpdump should not be
initialized because both dump methods can't be used at the same time.

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Michael Holzheu пре 14 година
родитељ
комит
3f25dc4fcb
2 измењених фајлова са 5 додато и 1 уклоњено
  1. 3 1
      arch/s390/kernel/setup.c
  2. 2 0
      drivers/s390/char/zcore.c

+ 3 - 1
arch/s390/kernel/setup.c

@@ -211,6 +211,8 @@ static void __init setup_zfcpdump(unsigned int console_devno)
 
 
 	if (ipl_info.type != IPL_TYPE_FCP_DUMP)
 	if (ipl_info.type != IPL_TYPE_FCP_DUMP)
 		return;
 		return;
+	if (OLDMEM_BASE)
+		return;
 	if (console_devno != -1)
 	if (console_devno != -1)
 		sprintf(str, " cio_ignore=all,!0.0.%04x,!0.0.%04x",
 		sprintf(str, " cio_ignore=all,!0.0.%04x,!0.0.%04x",
 			ipl_info.data.fcp.dev_id.devno, console_devno);
 			ipl_info.data.fcp.dev_id.devno, console_devno);
@@ -482,7 +484,7 @@ static void __init setup_memory_end(void)
 
 
 
 
 #ifdef CONFIG_ZFCPDUMP
 #ifdef CONFIG_ZFCPDUMP
-	if (ipl_info.type == IPL_TYPE_FCP_DUMP) {
+	if (ipl_info.type == IPL_TYPE_FCP_DUMP && !OLDMEM_BASE) {
 		memory_end = ZFCPDUMP_HSA_SIZE;
 		memory_end = ZFCPDUMP_HSA_SIZE;
 		memory_end_set = 1;
 		memory_end_set = 1;
 	}
 	}

+ 2 - 0
drivers/s390/char/zcore.c

@@ -641,6 +641,8 @@ static int __init zcore_init(void)
 
 
 	if (ipl_info.type != IPL_TYPE_FCP_DUMP)
 	if (ipl_info.type != IPL_TYPE_FCP_DUMP)
 		return -ENODATA;
 		return -ENODATA;
+	if (OLDMEM_BASE)
+		return -ENODATA;
 
 
 	zcore_dbf = debug_register("zcore", 4, 1, 4 * sizeof(long));
 	zcore_dbf = debug_register("zcore", 4, 1, 4 * sizeof(long));
 	debug_register_view(zcore_dbf, &debug_sprintf_view);
 	debug_register_view(zcore_dbf, &debug_sprintf_view);