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

Commit ac542a51 authored by Kenji Kaneshige's avatar Kenji Kaneshige Committed by Tony Luck
Browse files

[IA64] Fix kernel panic in kdump on INIT



Fix the problem that kdump on INIT causes a kernel panic if kdump
kernel image is not configured. The cause of this problem is
machine_kexec_on_init() is using printk in INIT context. It should
use ia64_mca_printk() instead.

Signed-off-by: default avatarKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
parent a62c9fe4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -119,7 +119,7 @@ static void
machine_kdump_on_init(void)
{
	if (!ia64_kimage) {
		printk(KERN_NOTICE "machine_kdump_on_init(): "
		ia64_mca_printk(KERN_NOTICE "machine_kdump_on_init(): "
				"kdump not configured\n");
		return;
	}
+0 −2
Original line number Diff line number Diff line
@@ -118,7 +118,5 @@ struct mca_table_entry {

extern const struct mca_table_entry *search_mca_tables (unsigned long addr);
extern int mca_recover_range(unsigned long);
extern void ia64_mca_printk(const char * fmt, ...)
	 __attribute__ ((format (printf, 1, 2)));
extern void ia64_mlogbuf_dump(void);
+2 −0
Original line number Diff line number Diff line
@@ -151,6 +151,8 @@ extern void ia64_mca_cmc_vector_setup(void);
extern int  ia64_reg_MCA_extension(int (*fn)(void *, struct ia64_sal_os_state *));
extern void ia64_unreg_MCA_extension(void);
extern u64 ia64_get_rnat(u64 *);
extern void ia64_mca_printk(const char * fmt, ...)
	 __attribute__ ((format (printf, 1, 2)));

struct ia64_mca_notify_die {
	struct ia64_sal_os_state *sos;