Skip to content
  • Martin Schwidefsky's avatar
    [S390] fix io_return critical section cleanup · 176b1803
    Martin Schwidefsky authored
    
    
    If a machine check interrupts the io interrupt handler on one of the
    instructions between io_return and io_leave the critical section
    cleanup code will move the return psw to io_work_loop. By doing that
    the switch from the asynchronous interrupt stack to the process stack
    is skipped. If e.g. TIF_NEED_RESCHED is set things break because
    the scheduler is called with the asynchronous interrupts stack.
    Moving the psw back to io_return instead fixes the problem.
    
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    176b1803