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

From: Kevin Hilman
Date: Thu Aug 05 2021 - 14:36:42 EST


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.

Thanks Saravana for finding the root cause here.

Acked-by: Kevin Hilman <khilman@xxxxxxxxxxxx>
Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxxxx>

Kevin