aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/irq/manage.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/irq/manage.c')
-rw-r--r--kernel/irq/manage.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 0559d9c0f658..d526ac1eb0d1 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -423,7 +423,7 @@ setup_affinity(unsigned int irq, struct irq_desc *desc, struct cpumask *mask)
423} 423}
424#endif 424#endif
425 425
426void __disable_irq(struct irq_desc *desc, unsigned int irq) 426void __disable_irq(struct irq_desc *desc)
427{ 427{
428 if (!desc->depth++) 428 if (!desc->depth++)
429 irq_disable(desc); 429 irq_disable(desc);
@@ -436,7 +436,7 @@ static int __disable_irq_nosync(unsigned int irq)
436 436
437 if (!desc) 437 if (!desc)
438 return -EINVAL; 438 return -EINVAL;
439 __disable_irq(desc, irq); 439 __disable_irq(desc);
440 irq_put_desc_busunlock(desc, flags); 440 irq_put_desc_busunlock(desc, flags);
441 return 0; 441 return 0;
442} 442}
@@ -503,12 +503,13 @@ bool disable_hardirq(unsigned int irq)
503} 503}
504EXPORT_SYMBOL_GPL(disable_hardirq); 504EXPORT_SYMBOL_GPL(disable_hardirq);
505 505
506void __enable_irq(struct irq_desc *desc, unsigned int irq) 506void __enable_irq(struct irq_desc *desc)
507{ 507{
508 switch (desc->depth) { 508 switch (desc->depth) {
509 case 0: 509 case 0:
510 err_out: 510 err_out:
511 WARN(1, KERN_WARNING "Unbalanced enable for IRQ %d\n", irq); 511 WARN(1, KERN_WARNING "Unbalanced enable for IRQ %d\n",
512 irq_desc_get_irq(desc));
512 break; 513 break;
513 case 1: { 514 case 1: {
514 if (desc->istate & IRQS_SUSPENDED) 515 if (desc->istate & IRQS_SUSPENDED)
@@ -546,7 +547,7 @@ void enable_irq(unsigned int irq)
546 KERN_ERR "enable_irq before setup/request_irq: irq %u\n", irq)) 547 KERN_ERR "enable_irq before setup/request_irq: irq %u\n", irq))
547 goto out; 548 goto out;
548 549
549 __enable_irq(desc, irq); 550 __enable_irq(desc);
550out: 551out:
551 irq_put_desc_busunlock(desc, flags); 552 irq_put_desc_busunlock(desc, flags);
552} 553}
@@ -1280,7 +1281,7 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
1280 */ 1281 */
1281 if (shared && (desc->istate & IRQS_SPURIOUS_DISABLED)) { 1282 if (shared && (desc->istate & IRQS_SPURIOUS_DISABLED)) {
1282 desc->istate &= ~IRQS_SPURIOUS_DISABLED; 1283 desc->istate &= ~IRQS_SPURIOUS_DISABLED;
1283 __enable_irq(desc, irq); 1284 __enable_irq(desc);
1284 } 1285 }
1285 1286
1286 raw_spin_unlock_irqrestore(&desc->lock, flags); 1287 raw_spin_unlock_irqrestore(&desc->lock, flags);