diff options
author | Harvey Hunt <[email protected]> | 2016-05-23 12:05:52 +0100 |
---|---|---|
committer | Thomas Gleixner <[email protected]> | 2016-06-14 11:41:57 +0200 |
commit | 4b2312bd0592708c85ed94368c874819e7013309 (patch) | |
tree | c6b266e9556b371457d3966a78dea4acdf1f8442 /tools/perf/scripts/python/sched-migration.py | |
parent | 2eec3707a33fbf1c2e0a88ffc9fc0e465c2a59fd (diff) |
irqchip/mips-gic: Fix IRQs in gic_dev_domain
When allocating a new device IRQ, gic_dev_domain_alloc() correctly calls
irq_domain_set_hwirq_and_chip(), but gic_irq_domain_alloc() does not. This
means that gic_irq_domain believes all IRQs from the dev domain have an
hwirq of 0 and creates incorrect mappings in the linear_revmap. As
gic_irq_domain is a parent of the gic_dev_domain, this leads to an
inability to boot on devices with a GIC. Excerpt of the error:
[ 2.297649] irq 0: nobody cared (try booting with the "irqpoll" option)
...
[ 2.436963] handlers:
[ 2.439492] Disabling IRQ #0
Fix this by calling irq_domain_set_hwirq_and_chip() for both the dev and
irq domain.
Now that we are modifying the parent domain, be sure to clear it up in
case of an allocation error.
Fixes: c98c1822ee13 ("irqchip/mips-gic: Add device hierarchy domain")
Fixes: 2af70a962070 ("irqchip/mips-gic: Add a IPI hierarchy domain")
Signed-off-by: Harvey Hunt <[email protected]>
Tested-by: Govindraj Raja <[email protected]> # On Pistachio SoC
Reviewed-by: Matt Redfearn <[email protected]>
Cc: [email protected]
Cc: Qais Yousef <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Thomas Gleixner <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/sched-migration.py')
0 files changed, 0 insertions, 0 deletions