tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 73399b58e5e5a1b28a04baf42e321cfcfc663c2f commit: 0c9b6e2f7742d52437d477f4ed045fa0b4d55f44 [13064/13432] Bluetooth: btmtk: Fix kernel crash when entering btmtk_usb_suspend config: riscv-randconfig-r006-20230319 (https://download.01.org/0day-ci/archive/20240718/202407181821.iyQzSSCl-lkp@xxxxxxxxx/config) compiler: riscv32-linux-gcc (GCC) 13.3.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240718/202407181821.iyQzSSCl-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202407181821.iyQzSSCl-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_submit_wmt_recv_urb': drivers/bluetooth/btmtk.c:523:(.text+0x5fc): undefined reference to `usb_alloc_urb' riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `kmalloc_noprof': include/linux/slab.h:660:(.text+0x62a): undefined reference to `usb_free_urb' riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_submit_wmt_recv_urb': drivers/bluetooth/btmtk.c:559:(.text+0x6bc): undefined reference to `usb_anchor_urb' riscv32-linux-ld: drivers/bluetooth/btmtk.c:561:(.text+0x6cc): undefined reference to `usb_submit_urb' riscv32-linux-ld: drivers/bluetooth/btmtk.c:565:(.text+0x70e): undefined reference to `usb_unanchor_urb' riscv32-linux-ld: drivers/bluetooth/btmtk.c:567:(.text+0x718): undefined reference to `usb_free_urb' riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_submit_intr_urb': drivers/bluetooth/btmtk.c:1171:(.text+0x76c): undefined reference to `usb_alloc_urb' riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `kmalloc_noprof': include/linux/slab.h:664:(.text+0x79a): undefined reference to `usb_free_urb' riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `usb_mark_last_busy': include/linux/usb.h:803:(.text+0x83e): undefined reference to `usb_anchor_urb' riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_submit_intr_urb': drivers/bluetooth/btmtk.c:1195:(.text+0x84a): undefined reference to `usb_submit_urb' riscv32-linux-ld: drivers/bluetooth/btmtk.c:1200:(.text+0x88a): undefined reference to `usb_unanchor_urb' riscv32-linux-ld: drivers/bluetooth/btmtk.c:1200:(.text+0x894): undefined reference to `usb_free_urb' riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `generic_test_bit': >> include/asm-generic/bitops/generic-non-atomic.h:128:(.text+0x904): undefined reference to `usb_kill_anchored_urbs' riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_reg_read': drivers/bluetooth/btmtk.c:789:(.text+0xa92): undefined reference to `usb_control_msg' riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `put_unaligned_le32': include/asm-generic/unaligned.h:47:(.text+0xb50): undefined reference to `usb_control_msg' riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_uhw_reg_read': drivers/bluetooth/btmtk.c:760:(.text+0xbfa): undefined reference to `usb_control_msg' riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `cpu_relax': arch/riscv/include/asm/vdso/processor.h:22:(.text+0x10e8): undefined reference to `usb_autopm_get_interface' riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_subsys_reset': drivers/bluetooth/btmtk.c:923:(.text+0x111a): undefined reference to `usb_autopm_put_interface' riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_hci_wmt_sync': drivers/bluetooth/btmtk.c:588:(.text+0x1152): undefined reference to `usb_autopm_put_interface' riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_process_coredump': drivers/bluetooth/btmtk.c:407:(.text+0x14d0): undefined reference to `usb_disable_autosuspend' riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `skb_put_data': include/linux/skbuff.h:2718:(.text+0x1634): undefined reference to `usb_anchor_urb' riscv32-linux-ld: include/linux/skbuff.h:2721:(.text+0x1644): undefined reference to `usb_submit_urb' riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_wmt_recv': drivers/bluetooth/btmtk.c:455:(.text+0x1690): undefined reference to `usb_unanchor_urb' riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `generic_test_bit': include/asm-generic/bitops/generic-non-atomic.h:128:(.text+0x17de): undefined reference to `usb_anchor_urb' riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_intr_complete': drivers/bluetooth/btmtk.c:1128:(.text+0x17ee): undefined reference to `usb_submit_urb' riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `btmtk_recv_isopkt': drivers/bluetooth/btmtk.c:1071:(.text+0x1838): undefined reference to `usb_unanchor_urb' riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `strnlen': include/linux/fortify-string.h:233:(.text+0x1a70): undefined reference to `usb_set_interface' riscv32-linux-ld: include/linux/fortify-string.h:233:(.text+0x1ab0): undefined reference to `usb_kill_anchored_urbs' riscv32-linux-ld: drivers/bluetooth/btmtk.o: in function `__set_mtk_intr_interface': drivers/bluetooth/btmtk.c:993:(.text+0x1be0): undefined reference to `usb_alloc_urb' vim +128 include/asm-generic/bitops/generic-non-atomic.h 21bb8af513d35c Alexander Lobakin 2022-06-24 114 21bb8af513d35c Alexander Lobakin 2022-06-24 115 /** 21bb8af513d35c Alexander Lobakin 2022-06-24 116 * generic_test_bit - Determine whether a bit is set 21bb8af513d35c Alexander Lobakin 2022-06-24 117 * @nr: bit number to test 21bb8af513d35c Alexander Lobakin 2022-06-24 118 * @addr: Address to start counting from 21bb8af513d35c Alexander Lobakin 2022-06-24 119 */ 0e862838f29014 Alexander Lobakin 2022-06-24 120 static __always_inline bool 0e862838f29014 Alexander Lobakin 2022-06-24 121 generic_test_bit(unsigned long nr, const volatile unsigned long *addr) 21bb8af513d35c Alexander Lobakin 2022-06-24 122 { 21bb8af513d35c Alexander Lobakin 2022-06-24 123 /* 21bb8af513d35c Alexander Lobakin 2022-06-24 124 * Unlike the bitops with the '__' prefix above, this one *is* atomic, 21bb8af513d35c Alexander Lobakin 2022-06-24 125 * so `volatile` must always stay here with no cast-aways. See 21bb8af513d35c Alexander Lobakin 2022-06-24 126 * `Documentation/atomic_bitops.txt` for the details. 21bb8af513d35c Alexander Lobakin 2022-06-24 127 */ 21bb8af513d35c Alexander Lobakin 2022-06-24 @128 return 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1))); 21bb8af513d35c Alexander Lobakin 2022-06-24 129 } 21bb8af513d35c Alexander Lobakin 2022-06-24 130 :::::: The code at line 128 was first introduced by commit :::::: 21bb8af513d35c005c401706030f4eb469538d1d bitops: always define asm-generic non-atomic bitops :::::: TO: Alexander Lobakin <alexandr.lobakin@xxxxxxxxx> :::::: CC: Yury Norov <yury.norov@xxxxxxxxx> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki