Re: linux-next: build failure after merge of the net-next tree

From: Marcin Wojtas
Date: Thu Jun 24 2021 - 14:15:17 EST


Hi David & Jakub,

czw., 24 cze 2021 o 18:40 Nathan Chancellor <nathan@xxxxxxxxxx> napisał(a):
>
> Hi Marcin,
>
> On 6/24/2021 7:25 AM, Marcin Wojtas wrote:
> > Hi Stephen,
> >
> > czw., 24 cze 2021 o 10:54 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> napisał(a):
> >>
> >> Hi all,
> >>
> >> On Thu, 24 Jun 2021 11:43:14 +0530 Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> wrote:
> >>>
> >>> On Thu, 24 Jun 2021 at 07:59, Nathan Chancellor <nathan@xxxxxxxxxx> wrote:
> >>>>
> >>>> On Thu, Jun 24, 2021 at 12:46:48AM +0200, Marcin Wojtas wrote:
> >>>>> Hi Stephen,
> >>>>>
> >>>>> czw., 24 cze 2021 o 00:29 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> napisał(a):
> >>>>>>
> >>>>>> Hi all,
> >>>>>>
> >>>>>> Today's linux-next build (x86_64 modules_install) failed like this:
> >>>>>>
> >>>>>> depmod: ../tools/depmod.c:1792: depmod_report_cycles_from_root: Assertion `is < stack_size' failed.
> >>>
> >>> LKFT test farm found this build error.
> >>>
> >>> Regressions found on mips:
> >>>
> >>> - build/gcc-9-malta_defconfig
> >>> - build/gcc-10-malta_defconfig
> >>> - build/gcc-8-malta_defconfig
> >>>
> >>> depmod: ERROR: Cycle detected: fwnode_mdio -> of_mdio -> fwnode_mdio
> >>> depmod: ERROR: Found 2 modules in dependency cycles!
> >>> make[1]: *** [/builds/linux/Makefile:1875: modules_install] Error 1
> >>>
> >>>>> Thank you for letting us know. Not sure if related, but I just found
> >>>>> out that this code won't compile for the !CONFIG_FWNODE_MDIO. Below
> >>>>> one-liner fixes it:
> >>>>>
> >>>>> --- a/include/linux/fwnode_mdio.h
> >>>>> +++ b/include/linux/fwnode_mdio.h
> >>>>> @@ -40,7 +40,7 @@ static inline int fwnode_mdiobus_register(struct mii_bus *bus,
> >>>>> * This way, we don't have to keep compat bits around in drivers.
> >>>>> */
> >>>>>
> >>>>> - return mdiobus_register(mdio);
> >>>>> + return mdiobus_register(bus);
> >>>>> }
> >>>>> #endif
> >>>>>
> >>>>> I'm curious if this is the case. Tomorrow I'll resubmit with above, so
> >>>>> I'd appreciate recheck.
> >>>
> >>> This proposed fix did not work.
> >>>
> >>>> Reverting all the patches in that series fixes the issue for me.
> >>>
> >>> Yes.
> >>> Reverting all the (6) patches in that series fixed this build problem.
> >>>
> >>> git log --oneline | head
> >>> 3752a7bfe73e Revert "Documentation: ACPI: DSD: describe additional MAC
> >>> configuration"
> >>> da53528ed548 Revert "net: mdiobus: Introduce fwnode_mdbiobus_register()"
> >>> 479b72ae8b68 Revert "net/fsl: switch to fwnode_mdiobus_register"
> >>> 92f85677aff4 Revert "net: mvmdio: add ACPI support"
> >>> 3d725ff0f271 Revert "net: mvpp2: enable using phylink with ACPI"
> >>> ffa8c267d44e Revert "net: mvpp2: remove unused 'has_phy' field"
> >>> d61c8b66c840 Add linux-next specific files for 20210623
> >>
> >> So I have reverted the merge of that topic branch from linux-next for
> >> today.
> >
> > Just to understand correctly - you reverted merge from the local
> > branch (I still see the commits on Dave M's net-next/master). I see a
> > quick solution, but I'm wondering how I should proceed. Submit a
> > correction patch to the mailing lists against the net-next? Or the
> > branch is going to be reverted and I should resubmit everything as v4?
>
> As far as I am aware, net and net-next are not rebased so you would need
> to submit a fixup patch against the current net-next with a proper
> Fixes: tag.
>

TL;DR, we need to get rid of a helper routine (introduced so that to
address review comments of v1), as it causes a depmod cycles when
fwnode_/of_/acpi_mdio are built as modules.
It can be done twofold:
a. 3 commits, i.e:
Revert "net: mdiobus: Introduce fwnode_mdbiobus_register()"
Revert "net/fsl: switch to fwnode_mdiobus_register"
net: mvmdio: resign from fwnode_mdiobus_register
b. Same diff but squashed.

Please let me know your preference, so that I can do it properly up front.

Thanks,
Marcin