diff options
author | Sebastian Ott <sebott@linux.vnet.ibm.com> | 2010-04-22 11:17:04 -0400 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2010-04-22 11:17:19 -0400 |
commit | 889ee9556c89a877b8343b6bbe6ac8dc5d57e433 (patch) | |
tree | 562a672608aaa198e83c37331132af184fe0bbb1 | |
parent | 818c272bd74b834c3ca9347c6a540c2ec880afdc (diff) |
[S390] add hook to reenable mss after hibernation
Reenable multiple subchannel sets after hibernation,
prior to the device callbacks.
Cc: <stable@kernel.org>
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r-- | arch/s390/kernel/swsusp_asm64.S | 3 | ||||
-rw-r--r-- | drivers/s390/cio/css.c | 5 |
2 files changed, 8 insertions, 0 deletions
diff --git a/arch/s390/kernel/swsusp_asm64.S b/arch/s390/kernel/swsusp_asm64.S index b354427e03b7..c56d3f56d020 100644 --- a/arch/s390/kernel/swsusp_asm64.S +++ b/arch/s390/kernel/swsusp_asm64.S | |||
@@ -256,6 +256,9 @@ restore_registers: | |||
256 | lghi %r2,0 | 256 | lghi %r2,0 |
257 | brasl %r14,arch_set_page_states | 257 | brasl %r14,arch_set_page_states |
258 | 258 | ||
259 | /* Reinitialize the channel subsystem */ | ||
260 | brasl %r14,channel_subsystem_reinit | ||
261 | |||
259 | /* Return 0 */ | 262 | /* Return 0 */ |
260 | lmg %r6,%r15,STACK_FRAME_OVERHEAD + __SF_GPRS(%r15) | 263 | lmg %r6,%r15,STACK_FRAME_OVERHEAD + __SF_GPRS(%r15) |
261 | lghi %r2,0 | 264 | lghi %r2,0 |
diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c index 19635d47dede..511649115bd7 100644 --- a/drivers/s390/cio/css.c +++ b/drivers/s390/cio/css.c | |||
@@ -1043,6 +1043,11 @@ static int __init channel_subsystem_init_sync(void) | |||
1043 | } | 1043 | } |
1044 | subsys_initcall_sync(channel_subsystem_init_sync); | 1044 | subsys_initcall_sync(channel_subsystem_init_sync); |
1045 | 1045 | ||
1046 | void channel_subsystem_reinit(void) | ||
1047 | { | ||
1048 | chsc_enable_facility(CHSC_SDA_OC_MSS); | ||
1049 | } | ||
1050 | |||
1046 | #ifdef CONFIG_PROC_FS | 1051 | #ifdef CONFIG_PROC_FS |
1047 | static ssize_t cio_settle_write(struct file *file, const char __user *buf, | 1052 | static ssize_t cio_settle_write(struct file *file, const char __user *buf, |
1048 | size_t count, loff_t *ppos) | 1053 | size_t count, loff_t *ppos) |