Re: [PATCH 2/3] net: dsa: b53: mmap: register MDIO Mux bus controller

From: Vladimir Oltean
Date: Fri Mar 17 2023 - 10:29:35 EST


On Fri, Mar 17, 2023 at 03:17:12PM +0100, Álvaro Fernández Rojas wrote:
> > The proposed solution is too radical for a problem that was not properly
> > characterized yet, so this patch set has my temporary NACK.
>
> Forgive me, but why do you consider this solution too radical?

Because it involves changing device tree bindings (stable ABI) in an
incompatible way.

> >
> > > But maybe Florian or Jonas can give some more details about the issue...
> >
> > I think you also have the tools necessary to investigate this further.
> > We need to know what resource belonging to the switch is it that the
> > MDIO mux needs. Where is the earliest place you can add the call to
> > b53_mmap_mdiomux_init() such that your board works reliably? Note that
> > b53_switch_register() indirectly calls b53_setup(). By placing this
> > function where you have, the entirety of b53_setup() has finished
> > execution, and we don't know exactly what is it from there that is
> > needed.
>
> In the following link you will find different bootlogs related to
> different scenarios all of them with the same result: any attempt of
> calling b53_mmap_mdiomux_init() earlier than b53_switch_register()
> will either result in a kernel panic or a device hang:
> https://gist.github.com/Noltari/b0bd6d5211160ac7bf349d998d21e7f7
>
> 1. before b53_switch_register():
>
> 2. before dsa_register_switch():
>
> 3. before b53_switch_init():

Did you read what I said?

| Note that b53_switch_register() indirectly calls b53_setup(). By placing
| this function where you have, the entirety of b53_setup() has finished
| execution, and we don't know exactly what is it from there that is
| needed.

Can you place the b53_mmap_mdiomux_init() in various places within
b53_setup() to restrict the search further?