diff options
-rw-r--r-- | kernel/irq/chip.c | 2 | ||||
-rw-r--r-- | kernel/irq/manage.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c index 6fc89fd93824..5a2ef92c2782 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c | |||
@@ -265,8 +265,8 @@ int irq_startup(struct irq_desc *desc, bool resend, bool force) | |||
265 | irq_setup_affinity(desc); | 265 | irq_setup_affinity(desc); |
266 | break; | 266 | break; |
267 | case IRQ_STARTUP_MANAGED: | 267 | case IRQ_STARTUP_MANAGED: |
268 | irq_do_set_affinity(d, aff, false); | ||
268 | ret = __irq_startup(desc); | 269 | ret = __irq_startup(desc); |
269 | irq_set_affinity_locked(d, aff, false); | ||
270 | break; | 270 | break; |
271 | case IRQ_STARTUP_ABORT: | 271 | case IRQ_STARTUP_ABORT: |
272 | return 0; | 272 | return 0; |
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index ef89f7246656..4bff6a10ae8e 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c | |||
@@ -188,6 +188,9 @@ int irq_do_set_affinity(struct irq_data *data, const struct cpumask *mask, | |||
188 | struct irq_chip *chip = irq_data_get_irq_chip(data); | 188 | struct irq_chip *chip = irq_data_get_irq_chip(data); |
189 | int ret; | 189 | int ret; |
190 | 190 | ||
191 | if (!chip || !chip->irq_set_affinity) | ||
192 | return -EINVAL; | ||
193 | |||
191 | ret = chip->irq_set_affinity(data, mask, force); | 194 | ret = chip->irq_set_affinity(data, mask, force); |
192 | switch (ret) { | 195 | switch (ret) { |
193 | case IRQ_SET_MASK_OK: | 196 | case IRQ_SET_MASK_OK: |