diff options
Diffstat (limited to 'kernel/irq/manage.c')
-rw-r--r-- | kernel/irq/manage.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index a06b9b6d6b57..47b2bf10afbc 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c | |||
@@ -957,9 +957,14 @@ out_thread: | |||
957 | */ | 957 | */ |
958 | int setup_irq(unsigned int irq, struct irqaction *act) | 958 | int setup_irq(unsigned int irq, struct irqaction *act) |
959 | { | 959 | { |
960 | int retval; | ||
960 | struct irq_desc *desc = irq_to_desc(irq); | 961 | struct irq_desc *desc = irq_to_desc(irq); |
961 | 962 | ||
962 | return __setup_irq(irq, desc, act); | 963 | chip_bus_lock(desc); |
964 | retval = __setup_irq(irq, desc, act); | ||
965 | chip_bus_sync_unlock(desc); | ||
966 | |||
967 | return retval; | ||
963 | } | 968 | } |
964 | EXPORT_SYMBOL_GPL(setup_irq); | 969 | EXPORT_SYMBOL_GPL(setup_irq); |
965 | 970 | ||