struct physdev_eoi eoi = { .irq = pirq_from_irq(data->irq) };
int rc = 0;
- if (!VALID_EVTCHN(evtchn))
- return;
+ irq_move_irq(data);
- if (unlikely(irqd_is_setaffinity_pending(data))) {
- int masked = test_and_set_mask(evtchn);
-
- clear_evtchn(evtchn);
-
- irq_move_masked_irq(data);
-
- if (!masked)
- unmask_evtchn(evtchn);
- } else
+ if (VALID_EVTCHN(evtchn))
clear_evtchn(evtchn);
if (pirq_needs_eoi(data->irq)) {
{
int evtchn = evtchn_from_irq(data->irq);
- if (!VALID_EVTCHN(evtchn))
- return;
+ irq_move_irq(data);
- if (unlikely(irqd_is_setaffinity_pending(data))) {
- int masked = test_and_set_mask(evtchn);
-
- clear_evtchn(evtchn);
-
- irq_move_masked_irq(data);
-
- if (!masked)
- unmask_evtchn(evtchn);
- } else
+ if (VALID_EVTCHN(evtchn))
clear_evtchn(evtchn);
}