Merge "drivers: GICv3: Check IRQ state in gic_set_affinity()"

This commit is contained in:
Linux Build Service Account 2017-03-21 13:29:04 -07:00 committed by Gerrit - the friendly Code Review server
commit 5a54ca071c

View file

@ -803,6 +803,14 @@ static int gic_set_affinity(struct irq_data *d, const struct cpumask *mask_val,
gic_write_irouter(val, reg);
/*
* It is possible that irq is disabled from SW perspective only,
* because kernel takes lazy disable approach. Therefore check irq
* descriptor if it should kept disabled.
*/
if (irqd_irq_disabled(d))
enabled = 0;
/*
* If the interrupt was enabled, enabled it again. Otherwise,
* just wait for the distributor to have digested our changes.