[S390] hibernation: fix register corruption on machine checks
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Fri, 24 Jul 2009 10:39:50 +0000 (12:39 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 24 Jul 2009 10:41:00 +0000 (12:41 +0200)
commitc63b196afcf22405527abe4c2c57926a5bbd6fc9
tree6c8f0705fe19e1fcb3678c9e2bd46a915cde5f65
parent5f954c3426190f7ae432a09abd62164d5d14c709
[S390] hibernation: fix register corruption on machine checks

swsusp_arch_suspend() actually saves all cpu register contents on
hibernation.
Machine checks must be disabled since swsusp_arch_suspend() stores
register contents to their lowcore save areas. That's the same
place where register contents on machine checks would be saved.
To avoid register corruption disable machine checks.
We must also disable machine checks in the new psw mask for
program checks, since swsusp_arch_suspend() may generate program
checks.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/power/swsusp.c
arch/s390/power/swsusp_asm64.S