Re: "ERROR: modpost: "icssg_queue_pop" [...] undefined" on arm64

From: Thorsten Leemhuis
Date: Mon Jun 03 2024 - 05:24:45 EST


On 03.06.24 10:14, MD Danish Anwar wrote:
> On 03/06/24 12:39 pm, Thorsten Leemhuis wrote:
>> On 28.05.24 13:37, MD Danish Anwar wrote:
>>> Introduce helper functions to configure firmware FDB tables, VLAN tables
>>> and Port VLAN ID settings to aid adding Switch mode support.
>>>
>>> Signed-off-by: MD Danish Anwar <danishanwar@xxxxxx>
>>
>> Hi! Since Friday I get a compile error in my -next builds for Fedora:
>>
>> ERROR: modpost: "icssg_queue_push"
>> [drivers/net/ethernet/ti/icssg-prueth-sr1.ko] undefined!
>> ERROR: modpost: "icssg_queue_pop"
>> [drivers/net/ethernet/ti/icssg-prueth-sr1.ko] undefined!
>
> Before posting the patches I had tested them with defconfig and I didn't
> see any ERRORs.
>
> I think in the config that you are using most probably
> CONFIG_TI_ICSSG_PRUETH_SR1 is enabled. The patch adds APIs in
> icssg_config.c which uses APIs added in icssg_qeueus.c.
>
> Now CONFIG_TI_ICSSG_PRUETH_SR1 also uses icssg_config.c but
> icssg_queues.c is not built for SR1 as a result this error is coming.
>
> Fix for this will be to build icssg_queues as well for SR1 driver.
>
> I will test the fix and post it to net-next soon.

thx!

>> Looks like this problem was found and reported mid May by the kernel
>> test robot already, which identified a earlier version of the patch I'm
>> replying to to be the cause:
>> https://lore.kernel.org/all/202405182038.ncf1mL7Z-lkp@xxxxxxxxx/
>>
>> That and the fact that the patch showed up in -next on Friday makes me
>> assume that my problem is caused by this change as well as well. A build
>> log can be found here:
>> https://download.copr.fedorainfracloud.org/results/@kernel-vanilla/next/fedora-39-aarch64/07523690-next-next-all/builder-live.log.gz
>>
>> I don't have the .config at hand, but can provide it when needed.
>
> Yes that would be helpful. If possible just check in the .config what
> symbols are enabled related to ICSS. (`cat .config | grep ICSS`)

I can't easily access the .config used the build system used for the
build, but unless I did something stupid it should be identical to this one:
https://www.leemhuis.info/files/misc/kernel-6.10.0-aarch64.config

FWIW, that .config is generated by some scripts Fedora uses when
building their kernels.

$ grep ICSS kernel-6.10.0-aarch64.config
CONFIG_TI_ICSSG_PRUETH=m
CONFIG_TI_ICSSG_PRUETH_SR1=m
CONFIG_TI_ICSS_IEP=m

HTH, Ciao, Thorsten