Re: [PATCH v1 0/3] Clean up and fix error handling in mdio_mux_init()

From: Saravana Kannan
Date: Thu Aug 05 2021 - 14:47:59 EST


On Thu, Aug 5, 2021 at 11:38 AM Kevin Hilman <khilman@xxxxxxxxxxxx> wrote:
>
> On Thu, Aug 5, 2021 at 11:36 AM Kevin Hilman <khilman@xxxxxxxxxxxx> wrote:
> >
> > Marc Zyngier <maz@xxxxxxxxxx> writes:
> >
> > > Hi Saravana,
> > >
> > > On Wed, 04 Aug 2021 22:43:29 +0100,
> > > Saravana Kannan <saravanak@xxxxxxxxxx> wrote:
> > >>
> > >> This patch series was started due to -EPROBE_DEFER not being handled
> > >> correctly in mdio_mux_init() and causing issues [1]. While at it, I also
> > >> did some more error handling fixes and clean ups. The -EPROBE_DEFER fix is
> > >> the last patch.
> > >>
> > >> Ideally, in the last patch we'd treat any error similar to -EPROBE_DEFER
> > >> but I'm not sure if it'll break any board/platforms where some child
> > >> mdiobus never successfully registers. If we treated all errors similar to
> > >> -EPROBE_DEFER, then none of the child mdiobus will work and that might be a
> > >> regression. If people are sure this is not a real case, then I can fix up
> > >> the last patch to always fail the entire mdio-mux init if any of the child
> > >> mdiobus registration fails.
> > >>
> > >> Cc: Marc Zyngier <maz@xxxxxxxxxx>
> > >> Cc: Neil Armstrong <narmstrong@xxxxxxxxxxxx>
> > >> Cc: Kevin Hilman <khilman@xxxxxxxxxxxx>
> > >> [1] - https://lore.kernel.org/lkml/CAGETcx95kHrv8wA-O+-JtfH7H9biJEGJtijuPVN0V5dUKUAB3A@xxxxxxxxxxxxxx/#t
> > >>
> > >> Saravana Kannan (3):
> > >> net: mdio-mux: Delete unnecessary devm_kfree
> > >> net: mdio-mux: Don't ignore memory allocation errors
> > >> net: mdio-mux: Handle -EPROBE_DEFER correctly
> > >>
> > >> drivers/net/mdio/mdio-mux.c | 37 ++++++++++++++++++++++++-------------
> > >> 1 file changed, 24 insertions(+), 13 deletions(-)
> > >
> > > Thanks for this. I've just gave it a go on my test platform, and this
> > > indeed addresses the issues I was seeing [1].
> > >
> > > Acked-by: Marc Zyngier <maz@xxxxxxxxxx>
> > > Tested-by: Marc Zyngier <maz@xxxxxxxxxx>
> >
> > I wasn't seeing the same issues as Marc, but am heavily using everything
> > as modules on a few platforms using this code, and I'm not seeing any
> > regressions.

The only guess I have for this difference in results is I'm guessing
in your case the IRQ module is somehow getting loaded before the
mux/PHY driver?

> >
> > Thanks Saravana for finding the root cause here.
> >
> > Acked-by: Kevin Hilman <khilman@xxxxxxxxxxxx>
> > Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxx>
>
> Oops, that should not be a SoB, but rather:
>
> Tested-by: Kevin Hilman <khilman@xxxxxxxxxxxx>

Thanks for the Acks/tests.

-Saravana