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

From: MD Danish Anwar
Date: Mon Jun 03 2024 - 04:15:54 EST


Hi Thorsten,

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.

> 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`)

> Ciao, Thorsten
>
>> ---
>> drivers/net/ethernet/ti/icssg/icssg_config.c | 170 +++++++++++++++++++
>> drivers/net/ethernet/ti/icssg/icssg_config.h | 19 +++
>> drivers/net/ethernet/ti/icssg/icssg_prueth.h | 12 ++
>> 3 files changed, 201 insertions(+)
>>
>> diff --git a/drivers/net/ethernet/ti/icssg/icssg_config.c b/drivers/net/ethernet/ti/icssg/icssg_config.c
>> index 15f2235bf90f..2213374d4d45 100644
>> --- a/drivers/net/ethernet/ti/icssg/icssg_config.c
>> +++ b/drivers/net/ethernet/ti/icssg/icssg_config.c
>> @@ -477,3 +477,173 @@ void icssg_config_set_speed(struct prueth_emac *emac)
>>

[...]


--
Thanks and Regards,
Danish