On 02.07.24 18:54, Marc Zyngier wrote:
On Sun, 30 Jun 2024 11:21:55 +0100,
Christian Zigotzky <chzigotzky@xxxxxxxxxxx> wrote:
Hello,
There is an issue with the identification of ATA drives with our
P.A. Semi Nemo boards [1] after the
commit "of/irq: Factor out parsing of interrupt-map parent
phandle+args from of_irq_parse_raw()" [2].
[snip]
My earlier request for valuable debug information still stands. But
while you're at it, can you please give the following hack a go?
M.
--- a/drivers/of/irq.c
+++ b/drivers/of/irq.c
@@ -282,8 +282,10 @@ int of_irq_parse_raw(const __be32 *addr, struct of_phandle_args *out_irq)
oldimap = imap;
imap = of_irq_parse_imap_parent(oldimap, imaplen, out_irq);
- if (!imap)
- goto fail;
+ if (!imap) {
+ match = 0;
+ break;
+ }
match &= of_device_is_available(out_irq->np);
if (match)
This may not be the final workaround even if it solves your boot
problem, but will at least give us a hint at what is going wrong.
I have the fuzzy feeling that we may be able to lob this broken system
as part of the of_irq_imap_abusers[] array, which would solve things
pretty "neatly".
M.
We tested this patch yesterday and it solves the boot problem.
Thanks