diff options
Diffstat (limited to 'kernel/irq')
| -rw-r--r-- | kernel/irq/manage.c | 2 | ||||
| -rw-r--r-- | kernel/irq/spurious.c | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index 67ce837ae52c..0e2b179bc7b3 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c | |||
| @@ -1596,7 +1596,7 @@ int request_percpu_irq(unsigned int irq, irq_handler_t handler, | |||
| 1596 | return -ENOMEM; | 1596 | return -ENOMEM; |
| 1597 | 1597 | ||
| 1598 | action->handler = handler; | 1598 | action->handler = handler; |
| 1599 | action->flags = IRQF_PERCPU; | 1599 | action->flags = IRQF_PERCPU | IRQF_NO_SUSPEND; |
| 1600 | action->name = devname; | 1600 | action->name = devname; |
| 1601 | action->percpu_dev_id = dev_id; | 1601 | action->percpu_dev_id = dev_id; |
| 1602 | 1602 | ||
diff --git a/kernel/irq/spurious.c b/kernel/irq/spurious.c index b5f4742693c0..dc813a948be2 100644 --- a/kernel/irq/spurious.c +++ b/kernel/irq/spurious.c | |||
| @@ -84,7 +84,9 @@ static int try_one_irq(int irq, struct irq_desc *desc, bool force) | |||
| 84 | */ | 84 | */ |
| 85 | action = desc->action; | 85 | action = desc->action; |
| 86 | if (!action || !(action->flags & IRQF_SHARED) || | 86 | if (!action || !(action->flags & IRQF_SHARED) || |
| 87 | (action->flags & __IRQF_TIMER) || !action->next) | 87 | (action->flags & __IRQF_TIMER) || |
| 88 | (action->handler(irq, action->dev_id) == IRQ_HANDLED) || | ||
| 89 | !action->next) | ||
| 88 | goto out; | 90 | goto out; |
| 89 | 91 | ||
| 90 | /* Already running on another processor */ | 92 | /* Already running on another processor */ |
