diff options
Diffstat (limited to 'kernel/irq')
-rw-r--r-- | kernel/irq/irqdomain.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c index 20b677dd0b27..61d6d3c80fee 100644 --- a/kernel/irq/irqdomain.c +++ b/kernel/irq/irqdomain.c | |||
@@ -464,23 +464,15 @@ int irq_domain_associate_many(struct irq_domain *domain, unsigned int irq_base, | |||
464 | /* | 464 | /* |
465 | * If map() returns -EPERM, this interrupt is protected | 465 | * If map() returns -EPERM, this interrupt is protected |
466 | * by the firmware or some other service and shall not | 466 | * by the firmware or some other service and shall not |
467 | * be mapped. | 467 | * be mapped. Don't bother telling the user about it. |
468 | * | ||
469 | * Since on some platforms we blindly try to map everything | ||
470 | * we end up with a log full of backtraces. | ||
471 | * | ||
472 | * So instead, we silently fail on -EPERM, it is the | ||
473 | * responsibility of the PIC driver to display a relevant | ||
474 | * message if needed. | ||
475 | */ | 468 | */ |
476 | if (ret != -EPERM) { | 469 | if (ret != -EPERM) { |
477 | pr_err("irq-%i==>hwirq-0x%lx mapping failed: %d\n", | 470 | pr_info("%s didn't like hwirq-0x%lx to VIRQ%i mapping (rc=%d)\n", |
478 | virq, hwirq, ret); | 471 | of_node_full_name(domain->of_node), hwirq, virq, ret); |
479 | WARN_ON(1); | ||
480 | } | 472 | } |
481 | irq_data->domain = NULL; | 473 | irq_data->domain = NULL; |
482 | irq_data->hwirq = 0; | 474 | irq_data->hwirq = 0; |
483 | goto err_unmap; | 475 | continue; |
484 | } | 476 | } |
485 | } | 477 | } |
486 | 478 | ||