diff options
Diffstat (limited to 'kernel/irq/migration.c')
-rw-r--r-- | kernel/irq/migration.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/kernel/irq/migration.c b/kernel/irq/migration.c index ca3f4aaff707..dd203e276b07 100644 --- a/kernel/irq/migration.c +++ b/kernel/irq/migration.c | |||
@@ -7,7 +7,7 @@ | |||
7 | void irq_move_masked_irq(struct irq_data *idata) | 7 | void irq_move_masked_irq(struct irq_data *idata) |
8 | { | 8 | { |
9 | struct irq_desc *desc = irq_data_to_desc(idata); | 9 | struct irq_desc *desc = irq_data_to_desc(idata); |
10 | struct irq_chip *chip = idata->chip; | 10 | struct irq_chip *chip = desc->irq_data.chip; |
11 | 11 | ||
12 | if (likely(!irqd_is_setaffinity_pending(&desc->irq_data))) | 12 | if (likely(!irqd_is_setaffinity_pending(&desc->irq_data))) |
13 | return; | 13 | return; |
@@ -52,6 +52,13 @@ void irq_move_irq(struct irq_data *idata) | |||
52 | { | 52 | { |
53 | bool masked; | 53 | bool masked; |
54 | 54 | ||
55 | /* | ||
56 | * Get top level irq_data when CONFIG_IRQ_DOMAIN_HIERARCHY is enabled, | ||
57 | * and it should be optimized away when CONFIG_IRQ_DOMAIN_HIERARCHY is | ||
58 | * disabled. So we avoid an "#ifdef CONFIG_IRQ_DOMAIN_HIERARCHY" here. | ||
59 | */ | ||
60 | idata = irq_desc_get_irq_data(irq_data_to_desc(idata)); | ||
61 | |||
55 | if (likely(!irqd_is_setaffinity_pending(idata))) | 62 | if (likely(!irqd_is_setaffinity_pending(idata))) |
56 | return; | 63 | return; |
57 | 64 | ||