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

Commit b9e3614f authored by Björn Steinbrink's avatar Björn Steinbrink Committed by Linus Torvalds
Browse files

fix nmi_watchdog=2 bootup hang



wrmsrl() is broken, dropping the upper 32bits of the value to be
written. This broke the NMI watchdog on AMD hardware. (and it
probably broke other code too.)

Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 18954864
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -539,7 +539,7 @@ static inline int paravirt_write_msr(unsigned msr, unsigned low, unsigned high)
	val = paravirt_read_msr(msr, &_err);	\
} while(0)

#define wrmsrl(msr,val)		((void)paravirt_write_msr(msr, val, 0))
#define wrmsrl(msr,val)		wrmsr(msr, (u32)((u64)(val)), ((u64)(val))>>32)
#define wrmsr_safe(msr,a,b)	paravirt_write_msr(msr, a, b)

/* rdmsr with exception handling */