Hi Frank,
It's probably a bug fix that unveils the link errors.
tree:
https://github.com/frank-w/BPI-R2-4.14 5.6-main
head: 1944ca382365022a8bf3895ee49b47f24e810b5d
commit: 32f5d961d2f60cf7ed4c9419d2a61eb2deef439a [40/41] mt76_new: replace
rcu_swap_protected by rcu_replace_pointer
config: sparc-allyesconfig (attached as .config)
compiler: sparc64-linux-gcc (GCC) 9.3.0
reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 32f5d961d2f60cf7ed4c9419d2a61eb2deef439a
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=sparc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_util.o: in function
`mt76x02_sta_add':
> mt76x02_util.c:(.text+0x7c8): undefined reference to
`mt76_wcid_alloc'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x02_util.o: in function
`mt76x02_add_interface':
mt76x02_util.c:(.text+0x990): undefined reference to `mt76_txq_init'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_util.o: in function
`mt76x02_remove_interface':
> mt76x02_util.c:(.text+0x9f4): undefined reference to
`mt76_txq_remove'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x02_util.o: in function
`mt76x02_ampdu_action':
mt76x02_util.c:(.text+0xac8): undefined reference to `mt76_rx_aggr_start'
> sparc64-linux-ld: mt76x02_util.c:(.text+0xaf4): undefined
reference to `mt76_rx_aggr_stop'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x02_util.o: in function `mt76x02_set_key':
mt76x02_util.c:(.text+0xd2c): undefined reference to `mt76_wcid_key_setup'
> sparc64-linux-ld: mt76x02_util.c:(.text+0xd58): undefined
reference to `mt76_wcid_key_setup'
sparc64-linux-ld:
mt76x02_util.c:(.text+0xd74): undefined reference to `mt76_wcid_key_setup'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_util.o: in function
`mt76x02_sta_ps':
> mt76x02_util.c:(.text+0x11d8): undefined reference to
`mt76_stop_tx_queues'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x02_mac.o: in function
`mt76x02_send_tx_status':
mt76x02_mac.c:(.text+0x191c): undefined reference to `mt76_tx_status_skb_get'
> sparc64-linux-ld: mt76x02_mac.c:(.text+0x1970): undefined
reference to `mt76_tx_status_unlock'
sparc64-linux-ld:
mt76x02_mac.c:(.text+0x1a08): undefined reference to `mt76_tx_status_unlock'
> sparc64-linux-ld: mt76x02_mac.c:(.text+0x1aa4): undefined
reference to `mt76_tx_status_skb_done'
sparc64-linux-ld:
mt76x02_mac.c:(.text+0x1ad0): undefined reference to `mt76_tx_status_unlock'
> sparc64-linux-ld: mt76x02_mac.c:(.text+0x1b04): undefined
reference to `mt76_calc_tx_airtime'
sparc64-linux-ld:
mt76x02_mac.c:(.text+0x1bd8): undefined reference to `mt76_tx_status_unlock'
> sparc64-linux-ld: mt76x02_mac.c:(.text+0x1c04): undefined
reference to `mt76_tx_status_lock'
sparc64-linux-ld:
mt76x02_mac.c:(.text+0x1c18): undefined reference to `mt76_tx_status_lock'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_mac.o: in function
`mt76x02_tx_complete_skb':
mt76x02_mac.c:(.text+0x2730): undefined reference to `mt76_tx_complete_skb'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_mac.o: in function
`mt76x02_mac_work':
> mt76x02_mac.c:(.text+0x2b40): undefined reference to
`mt76_update_survey'
> sparc64-linux-ld: mt76x02_mac.c:(.text+0x2ec0): undefined reference to
`mt76_tx_status_check'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x02_mcu.o: in function
`mt76x02_mcu_msg_send':
mt76x02_mcu.c:(.text+0x120): undefined reference to `mt76_mcu_msg_alloc'
> sparc64-linux-ld: mt76x02_mcu.c:(.text+0x17c): undefined
reference to `mt76_mcu_get_response'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x02_mcu.o: in function
`mt76x02_mcu_calibrate':
mt76x02_mcu.c:(.text+0x354): undefined reference to `__mt76_poll_msec'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_eeprom.o: in function
`mt76x02_get_efuse_data':
mt76x02_eeprom.c:(.text+0x2a8): undefined reference to `__mt76_poll_msec'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_mmio.o: in function
`mt76x02_rx_poll_complete':
mt76x02_mmio.c:(.text+0x120): undefined reference to `mt76_set_irq_mask'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_mmio.o: in function
`mt76x02e_beacon_enable':
mt76x02_mmio.c:(.text+0x180): undefined reference to `mt76_set_irq_mask'
> sparc64-linux-ld: mt76x02_mmio.c:(.text+0x198): undefined
reference to `mt76_set_irq_mask'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x02_mmio.o: in function
`mt76x02_pre_tbtt_tasklet':
mt76x02_mmio.c:(.text+0x274): undefined reference to `mt76_csa_check'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_mmio.o: in function
`mt76x02_tx_tasklet':
mt76x02_mmio.c:(.text+0x42c): undefined reference to `mt76_txq_schedule_all'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_mmio.o: in function
`mt76x02_init_tx_queue':
mt76x02_mmio.c:(.text+0x4c0): undefined reference to `mt76_set_irq_mask'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_mmio.o: in function
`mt76x02_dma_cleanup':
> mt76x02_mmio.c:(.text+0x4fc): undefined reference to
`mt76_dma_cleanup'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x02_mmio.o: in function
`mt76x02_mac_start':
> mt76x02_mmio.c:(.text+0x55c): undefined reference to
`__mt76_poll'
sparc64-linux-ld: mt76x02_mmio.c:(.text+0x5f0): undefined
reference to `mt76_set_irq_mask'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_mmio.o: in function
`mt76x02_init_rx_queue.constprop.0':
mt76x02_mmio.c:(.text+0x6b4): undefined reference to `mt76_set_irq_mask'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_mmio.o: in function
`mt76x02_dma_init':
mt76x02_mmio.c:(.text+0x784): undefined reference to `mt76_dma_attach'
> sparc64-linux-ld: mt76x02_mmio.c:(.text+0x7ac): undefined
reference to `mt76_ac_to_hwq'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x02_mmio.o: in function `mt76x02_poll_tx':
mt76x02_mmio.c:(.text+0x9c0): undefined reference to `mt76_set_irq_mask'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_mmio.o: in function
`mt76x02_irq_handler':
mt76x02_mmio.c:(.text+0xd28): undefined reference to `mt76_set_irq_mask'
sparc64-linux-ld: mt76x02_mmio.c:(.text+0xd70): undefined reference to
`mt76_set_irq_mask'
> sparc64-linux-ld: mt76x02_mmio.c:(.text+0xdfc): undefined
reference to `mt76_csa_finish'
sparc64-linux-ld:
mt76x02_mmio.c:(.text+0xe74): undefined reference to `mt76_set_irq_mask'
sparc64-linux-ld: mt76x02_mmio.c:(.text+0xeb8): undefined reference to
`mt76_set_irq_mask'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_mmio.o: in function
`mt76x02_watchdog_reset':
mt76x02_mmio.c:(.text+0x123c): undefined reference to `__mt76_sta_remove'
sparc64-linux-ld: mt76x02_mmio.c:(.text+0x12bc): undefined reference to
`mt76_set_irq_mask'
sparc64-linux-ld: mt76x02_mmio.c:(.text+0x1468): undefined reference to
`mt76_set_irq_mask'
> sparc64-linux-ld: mt76x02_mmio.c:(.text+0x15f4): undefined
reference to `mt76_txq_schedule_all'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x02_txrx.o: in function `mt76x02_tx':
mt76x02_txrx.c:(.text+0x34): undefined reference to `mt76_tx'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_txrx.o: in function
`mt76x02_queue_rx_skb':
> mt76x02_txrx.c:(.text+0x7c): undefined reference to
`mt76_mcu_rx_event'
> sparc64-linux-ld: mt76x02_txrx.c:(.text+0xc8): undefined reference to `mt76_rx'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_txrx.o: in
function `mt76x02_tx_prepare_skb':
mt76x02_txrx.c:(.text+0x2e8): undefined reference to `mt76_tx_status_skb_add'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_debugfs.o: in function
`mt76x02_init_debugfs':
mt76x02_debugfs.c:(.text+0x4c): undefined reference to `mt76_register_debugfs'
sparc64-linux-ld: mt76x02_debugfs.c:(.text+0x60): undefined reference to
`mt76_queues_read'
sparc64-linux-ld: mt76x02_debugfs.c:(.text+0x68): undefined reference to
`mt76_queues_read'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_debugfs.o: in function
`read_txpower':
mt76x02_debugfs.c:(.text+0x26c): undefined reference to `mt76_seq_puts_array'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_dfs.o: in function
`mt76x02_dfs_init_params':
mt76x02_dfs.c:(.text+0x624): undefined reference to `mt76_set_irq_mask'
sparc64-linux-ld: mt76x02_dfs.c:(.text+0x6f0): undefined reference to
`mt76_set_irq_mask'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_dfs.o: in function
`mt76x02_dfs_tasklet':
mt76x02_dfs.c:(.text+0x15dc): undefined reference to `mt76_set_irq_mask'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_usb_mcu.o: in function
`mt76x02u_mcu_send_msg':
mt76x02_usb_mcu.c:(.text+0x758): undefined reference to `mt76_mcu_msg_alloc'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_usb_core.o: in
function `mt76x02u_tx_complete_skb':
mt76x02_usb_core.c:(.text+0x40): undefined reference to `mt76_tx_complete_skb'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_usb_core.o: in
function `mt76x02u_mac_start':
mt76x02_usb_core.c:(.text+0xa0): undefined reference to `__mt76_poll'
sparc64-linux-ld: mt76x02_usb_core.c:(.text+0xfc): undefined reference to
`__mt76_poll'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_usb_core.o: in
function `mt76x02u_pre_tbtt_work':
mt76x02_usb_core.c:(.text+0x2a0): undefined reference to `mt76_csa_check'
sparc64-linux-ld: mt76x02_usb_core.c:(.text+0x2c0): undefined reference to
`mt76_csa_finish'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x02_usb_core.o: in
function `mt76x02u_tx_prepare_skb':
mt76x02_usb_core.c:(.text+0x924): undefined reference to `mt76_tx_status_skb_add'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/usb.o: in function
`mt76u_stop_tx':
usb.c:(.text+0x340): undefined reference to `mt76_has_tx_pending'
sparc64-linux-ld: usb.c:(.text+0x380): undefined reference to
`mt76_has_tx_pending'
sparc64-linux-ld: usb.c:(.text+0x3bc): undefined reference to
`mt76_has_tx_pending'
sparc64-linux-ld: usb.c:(.text+0x55c): undefined reference to
`mt76_tx_status_check'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/usb.o: in function
`mt76u_tx_tasklet':
usb.c:(.text+0x854): undefined reference to `mt76_txq_schedule'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/usb.o: in function
`mt76u_alloc_queues':
usb.c:(.text+0x2294): undefined reference to `mt76_ac_to_hwq'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/usb.o: in function
`mt76u_rx_tasklet':
usb.c:(.text+0x27cc): undefined reference to `mt76_rx_poll_complete'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x2/eeprom.o: in function
`mt76x2_eeprom_init':
eeprom.c:(.text+0xdf0): undefined reference to `mt76_eeprom_init'
sparc64-linux-ld: eeprom.c:(.text+0x10dc): undefined reference to
`mt76_eeprom_override'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x2/phy.o: in function
`mt76x2_phy_update_channel_gain':
phy.c:(.text+0xab0): undefined reference to `mt76_get_min_avg_rssi'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x2/pci.o: in function
`mt76pci_remove':
pci.c:(.text+0x10): undefined reference to `mt76_unregister_device'
sparc64-linux-ld: pci.c:(.text+0x20): undefined reference to `mt76_free_device'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x2/pci.o: in function
`mt76pci_probe':
pci.c:(.text+0xc8): undefined reference to `mt76_alloc_device'
sparc64-linux-ld: pci.c:(.text+0xe4): undefined reference to `mt76_mmio_init'
sparc64-linux-ld: pci.c:(.text+0x1d0): undefined reference to
`mt76_pci_disable_aspm'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x2/pci_main.o: in function
`mt76x2_set_antenna':
pci_main.c:(.text+0x84): undefined reference to `mt76_set_stream_caps'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x2/pci_main.o: in function
`mt76x2_config':
pci_main.c:(.text+0x318): undefined reference to `mt76_set_channel'
sparc64-linux-ld: pci_main.c:(.text+0x394): undefined reference to
`mt76_txq_schedule_all'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x2/pci_main.o:(.rodata+0x80): undefined
reference to `mt76_set_tim'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x2/pci_main.o:(.rodata+0xc8): undefined
reference to `mt76_sw_scan'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x2/pci_main.o:(.rodata+0x120): undefined
reference to `mt76_sta_state'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x2/pci_main.o:(.rodata+0x180): undefined
reference to `mt76_get_survey'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x2/pci_main.o:(.rodata+0x1c0): undefined
reference to `mt76_get_antenna'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x2/pci_main.o:(.rodata+0x208): undefined
reference to `mt76_release_buffered_frames'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x2/pci_main.o:(.rodata+0x2b8): undefined
reference to `mt76_get_txpower'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x2/pci_main.o:(.rodata+0x2d8): undefined
reference to `mt76_wake_tx_queue'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x2/pci_init.o: in function
`mt76x2_register_device':
pci_init.c:(.text+0x910): undefined reference to `__mt76_poll'
sparc64-linux-ld: pci_init.c:(.text+0xabc): undefined reference to
`mt76_register_device'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x2/pci_mcu.o: in function
`mt76pci_load_firmware':
pci_mcu.c:(.text+0x2a4): undefined reference to `__mt76_poll_msec'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x2/pci_mcu.o: in function
`mt76x2_mcu_init':
pci_mcu.c:(.text+0x3ec): undefined reference to `__mt76_poll'
sparc64-linux-ld: pci_mcu.c:(.text+0x4f8): undefined reference to
`__mt76_poll_msec'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x2/usb.o: in function
`mt76x2u_probe':
usb.c:(.text+0x10c): undefined reference to `mt76_alloc_device'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x2/usb_init.o: in function
`mt76x2u_init_hardware':
usb_init.c:(.text+0x20c): undefined reference to `__mt76_poll'
sparc64-linux-ld: usb_init.c:(.text+0x398): undefined reference to
`__mt76_poll_msec'
sparc64-linux-ld: usb_init.c:(.text+0x4c4): undefined reference to
`__mt76_poll_msec'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x2/usb_init.o: in function
`mt76x2u_register_device':
usb_init.c:(.text+0x7d4): undefined reference to `mt76_register_device'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x2/usb_main.o: in function
`mt76x2u_config':
usb_main.c:(.text+0x104): undefined reference to `mt76_set_channel'
sparc64-linux-ld: usb_main.c:(.text+0x174): undefined reference to
`mt76_txq_schedule_all'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x2/usb_main.o:(.rodata+0x80): undefined
reference to `mt76_set_tim'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x2/usb_main.o:(.rodata+0xc8): undefined
reference to `mt76_sw_scan'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x2/usb_main.o:(.rodata+0x120): undefined
reference to `mt76_sta_state'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x2/usb_main.o:(.rodata+0x180): undefined
reference to `mt76_get_survey'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x2/usb_main.o:(.rodata+0x1c0): undefined
reference to `mt76_get_antenna'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x2/usb_main.o:(.rodata+0x208): undefined
reference to `mt76_release_buffered_frames'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x2/usb_main.o:(.rodata+0x2b8): undefined
reference to `mt76_get_txpower'
sparc64-linux-ld:
drivers/net/wireless/mediatek/mt76_new/mt76x2/usb_main.o:(.rodata+0x2d8): undefined
reference to `mt76_wake_tx_queue'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x2/usb_mac.o: in function
`mt76x2u_mac_stop':
usb_mac.c:(.text+0x6bc): undefined reference to `__mt76_poll'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x2/usb_mcu.o: in function
`mt76x2u_mcu_load_rom_patch':
usb_mcu.c:(.text+0x3c): undefined reference to `__mt76_poll_msec'
sparc64-linux-ld: usb_mcu.c:(.text+0x27c): undefined reference to
`__mt76_poll_msec'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x2/usb_mcu.o: in function
`mt76x2u_mcu_load_firmware':
usb_mcu.c:(.text+0x60c): undefined reference to `__mt76_poll_msec'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x0/usb.o: in function
`mt76x0u_stop':
usb.c:(.text+0x148): undefined reference to `__mt76_poll'
sparc64-linux-ld: usb.c:(.text+0x180): undefined reference to `__mt76_poll'
sparc64-linux-ld: drivers/net/wireless/mediatek/mt76_new/mt76x0/usb.o: in function
`mt76x0u_probe':
usb.c:(.text+0x4cc): undefined reference to `mt76_alloc_device'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org