diff options
author | Paul Burton <paul.burton@imgtec.com> | 2016-08-19 18:07:14 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-09-15 08:20:29 +0200 |
commit | 1e44b5c325c80c52e5bef114c0115623cd5adb70 (patch) | |
tree | 79d7bc44773aa072ef3f1eb15841ff00bdf1a426 /drivers/soc | |
parent | 1cd18821a4eb12d7026e0cb058c736fb3ed9b6e2 (diff) | |
download | linux-stable-1e44b5c325c80c52e5bef114c0115623cd5adb70.tar.gz linux-stable-1e44b5c325c80c52e5bef114c0115623cd5adb70.tar.bz2 linux-stable-1e44b5c325c80c52e5bef114c0115623cd5adb70.zip |
irqchip/mips-gic: Cleanup chip and handler setup
commit 6a33fa2b87513fee44cb8f0cd17b1acd6316bc6b upstream.
gic_shared_irq_domain_map() is called from gic_irq_domain_alloc() where
the wrong chip has been set, and is then overwritten. Tidy this up by
setting the correct chip the first time, and setting the
handle_level_irq handler from gic_irq_domain_alloc() too.
gic_shared_irq_domain_map() is also called from gic_irq_domain_map(),
which now calls irq_set_chip_and_handler() to retain its previous
behaviour.
This patch prepares for a follow-on which will call
gic_shared_irq_domain_map() from a callback where the lock on the struct
irq_desc is held, which without this change would cause the call to
irq_set_chip_and_handler() to lead to a deadlock.
Fixes: c98c1822ee13 ("irqchip/mips-gic: Add device hierarchy domain")
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Link: http://lkml.kernel.org/r/20160819170715.27820-1-paul.burton@imgtec.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/soc')
0 files changed, 0 insertions, 0 deletions