Hi Ivan, kernel test robot noticed the following build errors: [auto build test ERROR on tiwai-sound/for-next] [also build test ERROR on tiwai-sound/for-linus linus/master v6.11-rc2 next-20240808] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Ivan-Orlov/ALSA-aloop-Allow-using-global-timers/20240806-210332 base: https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git for-next patch link: https://lore.kernel.org/r/20240806125243.449959-4-ivan.orlov0322%40gmail.com patch subject: [PATCH v3 3/4] ALSA: timer: Introduce virtual userspace-driven timers config: arm-randconfig-r064-20240807 (https://download.01.org/0day-ci/archive/20240808/202408081612.hvfwzVlB-lkp@xxxxxxxxx/config) compiler: arm-linux-gnueabi-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240808/202408081612.hvfwzVlB-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/202408081612.hvfwzVlB-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_submit_wmt_recv_urb': drivers/bluetooth/btmtk.c:531:(.text+0x6c2): undefined reference to `usb_alloc_urb' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.c:537:(.text+0x6e6): undefined reference to `usb_free_urb' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.c:561:(.text+0x750): undefined reference to `usb_anchor_urb' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.c:562:(.text+0x75a): undefined reference to `usb_submit_urb' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.c:567:(.text+0x796): undefined reference to `usb_unanchor_urb' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.c:570:(.text+0x7a0): undefined reference to `usb_free_urb' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.o: in function `btmtk_submit_intr_urb': drivers/bluetooth/btmtk.c:1174:(.text+0x80e): undefined reference to `usb_alloc_urb' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.c:1181:(.text+0x83a): undefined reference to `usb_free_urb' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.c:1195:(.text+0x8c4): undefined reference to `usb_anchor_urb' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.c:1197:(.text+0x8cc): undefined reference to `usb_submit_urb' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.c:1202:(.text+0x908): undefined reference to `usb_unanchor_urb' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.c:1205:(.text+0x912): undefined reference to `usb_free_urb' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_suspend': drivers/bluetooth/btmtk.c:1265:(.text+0x988): undefined reference to `usb_kill_anchored_urbs' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.o: in function `btmtk_intr_complete': drivers/bluetooth/btmtk.c:1145:(.text+0xbf2): undefined reference to `usb_anchor_urb' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.c:1147:(.text+0xbfc): undefined reference to `usb_submit_urb' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.c:1157:(.text+0xc48): undefined reference to `usb_unanchor_urb' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.o: in function `__set_mtk_intr_interface': drivers/bluetooth/btmtk.c:991:(.text+0xcf4): undefined reference to `usb_set_interface' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_isointf_init': drivers/bluetooth/btmtk.c:1224:(.text+0xd30): undefined reference to `usb_kill_anchored_urbs' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_hci_wmt_sync': drivers/bluetooth/btmtk.c:610:(.text+0xf26): undefined reference to `usb_autopm_get_interface' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.c:618:(.text+0xf54): undefined reference to `usb_autopm_put_interface' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.c:625:(.text+0xf7e): undefined reference to `usb_autopm_put_interface' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_reg_read': drivers/bluetooth/btmtk.c:790:(.text+0x1248): undefined reference to `usb_control_msg' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_uhw_reg_write': drivers/bluetooth/btmtk.c:738:(.text+0x12e0): undefined reference to `usb_control_msg' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_uhw_reg_read': drivers/bluetooth/btmtk.c:761:(.text+0x1374): undefined reference to `usb_control_msg' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_recv_acl': drivers/bluetooth/btmtk.c:946:(.text+0x1e06): undefined reference to `usb_disable_autosuspend' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.o: in function `btmtk_usb_wmt_recv': drivers/bluetooth/btmtk.c:508:(.text+0x1e72): undefined reference to `usb_anchor_urb' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.c:509:(.text+0x1e7c): undefined reference to `usb_submit_urb' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.c:518:(.text+0x1ec0): undefined reference to `usb_unanchor_urb' arm-linux-gnueabi-ld: drivers/bluetooth/btmtk.o: in function `alloc_mtk_intr_urb': drivers/bluetooth/btmtk.c:1037:(.text+0x1fc8): undefined reference to `usb_alloc_urb' arm-linux-gnueabi-ld: sound/core/timer.o: in function `snd_utimer_create': >> sound/core/timer.c:2127:(.text+0x255c): undefined reference to `__aeabi_uldivmod' vim +2127 sound/core/timer.c 2112 2113 static int snd_utimer_create(struct snd_utimer_info *utimer_info, 2114 struct snd_utimer **r_utimer) 2115 { 2116 struct snd_utimer *utimer; 2117 struct snd_timer *timer; 2118 struct snd_timer_id tid; 2119 int utimer_id; 2120 int err = 0; 2121 u64 resolution; 2122 2123 if (!utimer_info || utimer_info->frame_rate == 0 || utimer_info->period_size == 0) 2124 return -EINVAL; 2125 2126 /* Let's check that we won't get an overflow in the resolution */ > 2127 if (NANO / utimer_info->frame_rate > U64_MAX / utimer_info->period_size) 2128 return -EINVAL; 2129 2130 resolution = NANO / utimer_info->frame_rate * utimer_info->period_size; 2131 2132 if (resolution == 0) 2133 return -EINVAL; 2134 2135 utimer = kzalloc(sizeof(*utimer), GFP_KERNEL); 2136 if (!utimer) 2137 return -ENOMEM; 2138 2139 /* We hold the ioctl lock here so we won't get a race condition when allocating id */ 2140 utimer_id = snd_utimer_take_id(); 2141 if (utimer_id < 0) { 2142 err = utimer_id; 2143 goto err_take_id; 2144 } 2145 2146 utimer->name = kasprintf(GFP_KERNEL, "snd-utimer%d", utimer_id); 2147 if (!utimer->name) { 2148 err = -ENOMEM; 2149 goto err_get_name; 2150 } 2151 2152 utimer->id = utimer_id; 2153 2154 tid.dev_sclass = SNDRV_TIMER_SCLASS_APPLICATION; 2155 tid.dev_class = SNDRV_TIMER_CLASS_GLOBAL; 2156 tid.card = -1; 2157 tid.device = SNDRV_TIMER_GLOBAL_UDRIVEN; 2158 tid.subdevice = utimer_id; 2159 2160 err = snd_timer_new(NULL, utimer->name, &tid, &timer); 2161 if (err < 0) { 2162 pr_err("Can't create userspace-driven timer\n"); 2163 goto err_timer_new; 2164 } 2165 2166 timer->module = THIS_MODULE; 2167 timer->hw = timer_hw; 2168 timer->hw.resolution = resolution; 2169 timer->hw.ticks = 1; 2170 timer->max_instances = MAX_SLAVE_INSTANCES; 2171 2172 utimer->timer = timer; 2173 2174 err = snd_timer_global_register(timer); 2175 if (err < 0) { 2176 pr_err("Can't register a userspace-driven timer\n"); 2177 goto err_timer_reg; 2178 } 2179 2180 *r_utimer = utimer; 2181 return 0; 2182 2183 err_timer_reg: 2184 snd_timer_free(timer); 2185 err_timer_new: 2186 kfree(utimer->name); 2187 err_get_name: 2188 snd_utimer_put_id(utimer); 2189 err_take_id: 2190 kfree(utimer); 2191 2192 return err; 2193 } 2194 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki