Skip to content

Commit 94371b6

Browse files
jgross1gregkh
authored andcommitted
xen/events: fix setting irq affinity
The backport of upstream patch 25da461 ("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>
1 parent 4ea6097 commit 94371b6

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

drivers/xen/events/events_base.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1783,7 +1783,7 @@ static void lateeoi_ack_dynirq(struct irq_data *data)
17831783

17841784
if (VALID_EVTCHN(evtchn)) {
17851785
do_mask(info, EVT_MASK_REASON_EOI_PENDING);
1786-
event_handler_exit(info);
1786+
ack_dynirq(data);
17871787
}
17881788
}
17891789

@@ -1794,7 +1794,7 @@ static void lateeoi_mask_ack_dynirq(struct irq_data *data)
17941794

17951795
if (VALID_EVTCHN(evtchn)) {
17961796
do_mask(info, EVT_MASK_REASON_EXPLICIT);
1797-
event_handler_exit(info);
1797+
ack_dynirq(data);
17981798
}
17991799
}
18001800

0 commit comments

Comments
 (0)