On 04.07.24 10:28, Marc Zyngier wrote:
On Thu, 04 Jul 2024 05:10:46 +0100,
Christian Zigotzky <chzigot...@xenosoft.de> wrote:
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.
How about the other patch[1], which would be far preferable?

        M.

[1] https://lore.kernel.org/all/86ed8ba2sp.wl-...@kernel.org

Marc,

We will test the patch as soon as possible.

Christian

Reply via email to