LAN bridge is not working with 5.15.80 [Was: Re: [PATCH v2] mvebu: switch default kernel to 5.15]
Petr Štetiar
ynezz at true.cz
Sat Dec 3 07:46:36 PST 2022
Bjørn Mork <bjorn at mork.no> [2022-12-03 15:56:49]:
> Petr Štetiar <ynezz at true.cz> writes:
>
> > Indeed, it looks like a regression caused by upstream commit e5f31552674e
> > ("ethernet: fix PTP_1588_CLOCK dependencies") in conjuction with images
> > produced by our buildbots, which use `CONFIG_ALL_KMODS=y` config setting, so
> > it likely makes `PTP_1588_CLOCK=m` and thus `CONFIG_NET_DSA_MV88E6XXX=m`.
> >
> > This simple revert/workaround seems to fix it:
> >
> > diff --git a/drivers/net/dsa/mv88e6xxx/Kconfig
> > b/drivers/net/dsa/mv88e6xxx/Kconfig
> > index 7a2445a34eb7..634a48e6616b 100644
> > --- a/drivers/net/dsa/mv88e6xxx/Kconfig
> > +++ b/drivers/net/dsa/mv88e6xxx/Kconfig
> > @@ -2,7 +2,6 @@
> > config NET_DSA_MV88E6XXX
> > tristate "Marvell 88E6xxx Ethernet switch fabric support"
> > depends on NET_DSA
> > - depends on PTP_1588_CLOCK_OPTIONAL
> > select IRQ_DOMAIN
> > select NET_DSA_TAG_EDSA
> > select NET_DSA_TAG_DSA
>
> That look like it, yes.
>
> But the problem is much more generic, isn't it?
No, lets take a look at that PTP_1588_CLOCK_OPTIONAL:
config PTP_1588_CLOCK_OPTIONAL
tristate
default y if PTP_1588_CLOCK=n
default PTP_1588_CLOCK
help
Drivers that can optionally use the PTP_1588_CLOCK framework
should depend on this symbol to prevent them from being built
into vmlinux while the PTP support itself is in a loadable
module.
If PTP support is disabled, this dependency will still be
met, and drivers refer to dummy helpers.
>From help text description it looks to me, that it's not tristate symbol at
all, it's boolean symbol and certainly shouldn't have `default PTP_1588_CLOCK`
as otherwise it's not doing what it's described on the box.
As we've now:
NET_DSA_MV88E6XXX=y
PTP_1588_CLOCK=m
PTP_1588_CLOCK_OPTIONAL=m
but we then endup with `CONFIG_NET_DSA_MV88E6XXX=m` which is not what
PTP_1588_CLOCK_OPTIONAL is supposed to be doing, right?
So IMO something like following is a proper fix:
config PTP_1588_CLOCK_OPTIONAL
- tristate
- default y if PTP_1588_CLOCK=n
- default PTP_1588_CLOCK
+ bool
+ default y if !PTP_1588_CLOCK=y
More information about the openwrt-devel
mailing list