[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230317142919.hhjd64juws35j47o@skbuf>
Date: Fri, 17 Mar 2023 16:29:19 +0200
From: Vladimir Oltean <olteanv@...il.com>
To: Álvaro Fernández Rojas <noltari@...il.com>
Cc: davem@...emloft.net, edumazet@...gle.com, kuba@...nel.org,
pabeni@...hat.com, robh+dt@...nel.org,
krzysztof.kozlowski+dt@...aro.org, f.fainelli@...il.com,
jonas.gorski@...il.com, andrew@...n.ch, hkallweit1@...il.com,
linux@...linux.org.uk, netdev@...r.kernel.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/3] net: dsa: b53: mmap: register MDIO Mux bus controller
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?
Powered by blists - more mailing lists