mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 02:39:48 +00:00
[S390] pfault: ignore leftover completion interrupts
Ignore completion interrupts if the initial interrupt hasn't been received and the addressed task is not running. This case can only happen if leftover (pending) completion interrupt gets delivered which wasn't removed with the PFAULT CANCEL operation during cpu hotplug. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
09b538833b
commit
fa2fb2f4a5
1 changed files with 7 additions and 2 deletions
|
@ -587,8 +587,13 @@ static void pfault_interrupt(unsigned int ext_int_code,
|
|||
} else {
|
||||
/* Completion interrupt was faster than initial
|
||||
* interrupt. Set pfault_wait to -1 so the initial
|
||||
* interrupt doesn't put the task to sleep. */
|
||||
tsk->thread.pfault_wait = -1;
|
||||
* interrupt doesn't put the task to sleep.
|
||||
* If the task is not running, ignore the completion
|
||||
* interrupt since it must be a leftover of a PFAULT
|
||||
* CANCEL operation which didn't remove all pending
|
||||
* completion interrupts. */
|
||||
if (tsk->state == TASK_RUNNING)
|
||||
tsk->thread.pfault_wait = -1;
|
||||
}
|
||||
put_task_struct(tsk);
|
||||
} else {
|
||||
|
|
Loading…
Reference in a new issue