On 02.07.24 18:54, Marc Zyngier wrote:
On Sun, 30 Jun 2024 11:21:55 +0100,
Christian Zigotzky <chzigot...@xenosoft.de> 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

Reply via email to