소스 검색

[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 13 년 전
부모
커밋
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);