Merge tag 'for-linus-4.13-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git...
[muen/linux.git] / drivers / xen / events / events_base.c
index 813f1e86a59914fb56d602d2eed1cc45e3ceb478..b241bfa529ce3cd9879da106b04531fc03b005e9 100644 (file)
@@ -1343,8 +1343,12 @@ static int set_affinity_irq(struct irq_data *data, const struct cpumask *dest,
                            bool force)
 {
        unsigned tcpu = cpumask_first_and(dest, cpu_online_mask);
+       int ret = xen_rebind_evtchn_to_cpu(evtchn_from_irq(data->irq), tcpu);
 
-       return xen_rebind_evtchn_to_cpu(evtchn_from_irq(data->irq), tcpu);
+       if (!ret)
+               irq_data_update_effective_affinity(data, cpumask_of(tcpu));
+
+       return ret;
 }
 
 static void enable_dynirq(struct irq_data *data)