Subject: Re: [PowerPC] [PASEMI] Issue with the identification of ATA drives after the of/irq updates 2024-05-29

From: Marc Zyngier <[email-masked]>
Date: Tue, 02 Jul 2024 17:54:51 +0100

On Sun, 30 Jun 2024 11:21:55 +0100,
Christian Zigotzky <[email-masked]> 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.

-- 
Without deviation from the norm, progress is not possible.