summaryrefslogtreecommitdiff
path: root/arch/s390/kernel/irq.c
diff options
context:
space:
mode:
authorHeiko Carstens <hca@linux.ibm.com>2021-07-05 22:26:26 +0200
committerVasily Gorbik <gor@linux.ibm.com>2021-07-08 22:12:17 +0200
commit938e02beb3a0181ed1c7828e8939ffa32c350bea (patch)
tree147448fe76dd7f832ac7d63301d60c7cbc58e31f /arch/s390/kernel/irq.c
parent4516f355c55f6da231c494c6d2be7d863d02f13c (diff)
s390/irq: simplify do_softirq_own_stack()
do_softirq_own_stack() is always called from task context and therefore it is not necessary to check if the async stack is currently used. Remove the check and directly switch to async stack. Reviewed-by: Sven Schnelle <svens@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Diffstat (limited to 'arch/s390/kernel/irq.c')
-rw-r--r--arch/s390/kernel/irq.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/arch/s390/kernel/irq.c b/arch/s390/kernel/irq.c
index c0df4060d28d..a03d9f54d36f 100644
--- a/arch/s390/kernel/irq.c
+++ b/arch/s390/kernel/irq.c
@@ -270,17 +270,7 @@ unsigned int arch_dynirq_lower_bound(unsigned int from)
*/
void do_softirq_own_stack(void)
{
- unsigned long old, new;
-
- old = current_stack_pointer();
- /* Check against async. stack address range. */
- new = S390_lowcore.async_stack;
- if (((new - old) >> (PAGE_SHIFT + THREAD_SIZE_ORDER)) != 0) {
- CALL_ON_STACK(__do_softirq, new, 0);
- } else {
- /* We are already on the async stack. */
- __do_softirq();
- }
+ CALL_ON_STACK(__do_softirq, S390_lowcore.async_stack, 0);
}
/*