diff options
author | Sebastian Ott <sebott@linux.vnet.ibm.com> | 2010-04-22 17:17:04 +0200 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2010-04-22 17:17:19 +0200 |
commit | 889ee9556c89a877b8343b6bbe6ac8dc5d57e433 (patch) | |
tree | 562a672608aaa198e83c37331132af184fe0bbb1 | |
parent | 818c272bd74b834c3ca9347c6a540c2ec880afdc (diff) | |
download | linux-889ee9556c89a877b8343b6bbe6ac8dc5d57e433.tar.gz linux-889ee9556c89a877b8343b6bbe6ac8dc5d57e433.tar.bz2 linux-889ee9556c89a877b8343b6bbe6ac8dc5d57e433.zip |
[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: lghi %r2,0 brasl %r14,arch_set_page_states + /* Reinitialize the channel subsystem */ + brasl %r14,channel_subsystem_reinit + /* Return 0 */ lmg %r6,%r15,STACK_FRAME_OVERHEAD + __SF_GPRS(%r15) 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) } subsys_initcall_sync(channel_subsystem_init_sync); +void channel_subsystem_reinit(void) +{ + chsc_enable_facility(CHSC_SDA_OC_MSS); +} + #ifdef CONFIG_PROC_FS static ssize_t cio_settle_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos) |