Message ID | 20210804214333.927985-1-saravanak@google.com (mailing list archive) |
---|---|
Headers | show |
Series | Clean up and fix error handling in mdio_mux_init() | expand |
Hi Saravana, On Wed, 04 Aug 2021 22:43:29 +0100, Saravana Kannan <saravanak@google.com> 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@kernel.org> > Cc: Neil Armstrong <narmstrong@baylibre.com> > Cc: Kevin Hilman <khilman@baylibre.com> > [1] - https://lore.kernel.org/lkml/CAGETcx95kHrv8wA-O+-JtfH7H9biJEGJtijuPVN0V5dUKUAB3A@mail.gmail.com/#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@kernel.org> Tested-by: Marc Zyngier <maz@kernel.org> M. [1] https://lore.kernel.org/r/87im0m277h.wl-maz@kernel.org
Please resubmit the cleanups targetting net-next and the bug fix targetting net. Thank you.
Marc Zyngier <maz@kernel.org> writes: > Hi Saravana, > > On Wed, 04 Aug 2021 22:43:29 +0100, > Saravana Kannan <saravanak@google.com> 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@kernel.org> >> Cc: Neil Armstrong <narmstrong@baylibre.com> >> Cc: Kevin Hilman <khilman@baylibre.com> >> [1] - https://lore.kernel.org/lkml/CAGETcx95kHrv8wA-O+-JtfH7H9biJEGJtijuPVN0V5dUKUAB3A@mail.gmail.com/#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@kernel.org> > Tested-by: Marc Zyngier <maz@kernel.org> 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@baylibre.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com> Kevin
On Thu, Aug 5, 2021 at 11:36 AM Kevin Hilman <khilman@baylibre.com> wrote: > > Marc Zyngier <maz@kernel.org> writes: > > > Hi Saravana, > > > > On Wed, 04 Aug 2021 22:43:29 +0100, > > Saravana Kannan <saravanak@google.com> 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@kernel.org> > >> Cc: Neil Armstrong <narmstrong@baylibre.com> > >> Cc: Kevin Hilman <khilman@baylibre.com> > >> [1] - https://lore.kernel.org/lkml/CAGETcx95kHrv8wA-O+-JtfH7H9biJEGJtijuPVN0V5dUKUAB3A@mail.gmail.com/#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@kernel.org> > > Tested-by: Marc Zyngier <maz@kernel.org> > > 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@baylibre.com> > Signed-off-by: Kevin Hilman <khilman@baylibre.com> Oops, that should not be a SoB, but rather: Tested-by: Kevin Hilman <khilman@baylibre.com>
On Thu, Aug 5, 2021 at 11:38 AM Kevin Hilman <khilman@baylibre.com> wrote: > > On Thu, Aug 5, 2021 at 11:36 AM Kevin Hilman <khilman@baylibre.com> wrote: > > > > Marc Zyngier <maz@kernel.org> writes: > > > > > Hi Saravana, > > > > > > On Wed, 04 Aug 2021 22:43:29 +0100, > > > Saravana Kannan <saravanak@google.com> 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@kernel.org> > > >> Cc: Neil Armstrong <narmstrong@baylibre.com> > > >> Cc: Kevin Hilman <khilman@baylibre.com> > > >> [1] - https://lore.kernel.org/lkml/CAGETcx95kHrv8wA-O+-JtfH7H9biJEGJtijuPVN0V5dUKUAB3A@mail.gmail.com/#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@kernel.org> > > > Tested-by: Marc Zyngier <maz@kernel.org> > > > > 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@baylibre.com> > > Signed-off-by: Kevin Hilman <khilman@baylibre.com> > > Oops, that should not be a SoB, but rather: > > Tested-by: Kevin Hilman <khilman@baylibre.com> Thanks for the Acks/tests. -Saravana