[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220719063641.56541-2-xuqiang36@huawei.com>
Date: Tue, 19 Jul 2022 06:36:40 +0000
From: Xu Qiang <xuqiang36@...wei.com>
To: <maz@...nel.org>, <tglx@...utronix.de>
CC: <linux-kernel@...r.kernel.org>, <xuqiang36@...wei.com>,
<weiyongjun1@...wei.com>, <guohanjun@...wei.com>
Subject: [PATCH v2 -next 1/2] irqdomain: Fix an issue where the Linux IRQ number is not stored
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@...wei.com>
---
kernel/irq/irqdomain.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c
index d5ce96510549..481abb885d61 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;
--
2.17.1
Powered by blists - more mailing lists