diff options
author | Xu Qiang <xuqiang36@huawei.com> | 2022-07-19 06:36:40 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2022-08-17 14:23:14 +0200 |
commit | 9d2a0422dedc72aa051a2dcb45cae31cf7db3ee4 (patch) | |
tree | d925218a9f4dc43f54ae13b669062e41d5064422 | |
parent | a815cb1088e7ab795408a560eaaaa1e3f5b6218f (diff) | |
download | linux-stable-9d2a0422dedc72aa051a2dcb45cae31cf7db3ee4.tar.gz linux-stable-9d2a0422dedc72aa051a2dcb45cae31cf7db3ee4.tar.bz2 linux-stable-9d2a0422dedc72aa051a2dcb45cae31cf7db3ee4.zip |
irqdomain: Report irq number for NOMAP domains
[ Upstream commit 6f194c99f466147148cc08452718b46664112548 ]
When using a NOMAP domain, __irq_resolve_mapping() doesn't store
the Linux IRQ number at the address optionally provided by the caller.
While this isn't a huge deal (the returned value is guaranteed
to the hwirq that was passed as a parameter), let's honour the letter
of the API by writing the expected value.
Fixes: d22558dd0a6c (“irqdomain: Introduce irq_resolve_mapping()”)
Signed-off-by: Xu Qiang <xuqiang36@huawei.com>
[maz: commit message]
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20220719063641.56541-2-xuqiang36@huawei.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r-- | kernel/irq/irqdomain.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c index 4d8fc65cf38f..035e3038c4de 100644 --- a/kernel/irq/irqdomain.c +++ b/kernel/irq/irqdomain.c @@ -910,6 +910,8 @@ struct irq_desc *__irq_resolve_mapping(struct irq_domain *domain, data = irq_domain_get_irq_data(domain, hwirq); if (data && data->hwirq == hwirq) desc = irq_data_to_desc(data); + if (irq && desc) + *irq = hwirq; } return desc; |