summaryrefslogtreecommitdiff
path: root/drivers/xen
diff options
context:
space:
mode:
authorJuergen Gross <jgross@suse.com>2021-04-12 08:28:45 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-04-16 11:46:39 +0200
commit94371b6c5553ffb0ee728016a8378614d3b2ce17 (patch)
treea108d594737793b991931ee1f53fa099b8801194 /drivers/xen
parent4ea6097986c4b4ca5a5d5b19c75386fda3360e54 (diff)
downloadlinux-94371b6c5553ffb0ee728016a8378614d3b2ce17.tar.gz
linux-94371b6c5553ffb0ee728016a8378614d3b2ce17.tar.bz2
linux-94371b6c5553ffb0ee728016a8378614d3b2ce17.zip
xen/events: fix setting irq affinity
The backport of upstream patch 25da4618af240fbec61 ("xen/events: don't unmask an event channel when an eoi is pending") introduced a regression for stable kernels 5.10 and older: setting IRQ affinity for IRQs related to interdomain events would no longer work, as moving the IRQ to its new cpu was not included in the irq_ack callback for those events. Fix that by adding the needed call. Note that kernels 5.11 and later don't need the explicit moving of the IRQ to the target cpu in the irq_ack callback, due to a rework of the affinity setting in kernel 5.11. Signed-off-by: Juergen Gross <jgross@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/xen')
-rw-r--r--drivers/xen/events/events_base.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
index 883abc46da6e..9cc77f039779 100644
--- a/drivers/xen/events/events_base.c
+++ b/drivers/xen/events/events_base.c
@@ -1783,7 +1783,7 @@ static void lateeoi_ack_dynirq(struct irq_data *data)
if (VALID_EVTCHN(evtchn)) {
do_mask(info, EVT_MASK_REASON_EOI_PENDING);
- event_handler_exit(info);
+ ack_dynirq(data);
}
}
@@ -1794,7 +1794,7 @@ static void lateeoi_mask_ack_dynirq(struct irq_data *data)
if (VALID_EVTCHN(evtchn)) {
do_mask(info, EVT_MASK_REASON_EXPLICIT);
- event_handler_exit(info);
+ ack_dynirq(data);
}
}