From: kbuild test robot <lkp@intel.com>
To: Timo Wischer <twischer@de.adit-jv.com>
Cc: Takashi Iwai <tiwai@suse.de>,
alsa-devel@alsa-project.org,
Andrew Gabbasov <andrew_gabbasov@mentor.com>,
kbuild-all@lists.01.org
Subject: [alsa-devel] [sound:for-next 127/148] sound/drivers/aloop.c:313: undefined reference to `snd_timer_close'
Date: Sun, 24 Nov 2019 06:17:53 +0800 [thread overview]
Message-ID: <201911240651.BBgcccwk%lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 4583 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git for-next
head: 9314e44f455c8b46d08b2d379cb9e8fba5767207
commit: 26c53379f98d22d6a3e50bb146651dc7824334d7 [127/148] ALSA: aloop: Support selection of snd_timer instead of jiffies
config: i386-randconfig-f001-20191124 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
git checkout 26c53379f98d22d6a3e50bb146651dc7824334d7
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
ld: sound/drivers/aloop.o: in function `loopback_snd_timer_close_cable':
>> sound/drivers/aloop.c:313: undefined reference to `snd_timer_close'
>> ld: sound/drivers/aloop.c:314: undefined reference to `snd_timer_instance_free'
ld: sound/drivers/aloop.o: in function `loopback_snd_timer_stop':
>> sound/drivers/aloop.c:276: undefined reference to `snd_timer_stop'
ld: sound/drivers/aloop.o: in function `loopback_snd_timer_start':
>> sound/drivers/aloop.c:237: undefined reference to `snd_timer_start'
ld: sound/drivers/aloop.o: in function `loopback_snd_timer_open':
>> sound/drivers/aloop.c:1129: undefined reference to `snd_timer_instance_new'
>> ld: sound/drivers/aloop.c:1164: undefined reference to `snd_timer_open'
ld: sound/drivers/aloop.c:1173: undefined reference to `snd_timer_instance_free'
vim +313 sound/drivers/aloop.c
227
228 /* call in cable->lock */
229 static int loopback_snd_timer_start(struct loopback_pcm *dpcm)
230 {
231 struct loopback_cable *cable = dpcm->cable;
232 int err;
233
234 /* Loopback device has to use same period as timer card. Therefore
235 * wake up for each snd_pcm_period_elapsed() call of timer card.
236 */
> 237 err = snd_timer_start(cable->snd_timer.instance, 1);
238 if (err < 0) {
239 /* do not report error if trying to start but already
240 * running. For example called by opposite substream
241 * of the same cable
242 */
243 if (err == -EBUSY)
244 return 0;
245
246 pcm_err(dpcm->substream->pcm,
247 "snd_timer_start(%d,%d,%d) failed with %d",
248 cable->snd_timer.id.card,
249 cable->snd_timer.id.device,
250 cable->snd_timer.id.subdevice,
251 err);
252 }
253
254 return err;
255 }
256
257 /* call in cable->lock */
258 static inline int loopback_jiffies_timer_stop(struct loopback_pcm *dpcm)
259 {
260 del_timer(&dpcm->timer);
261 dpcm->timer.expires = 0;
262
263 return 0;
264 }
265
266 /* call in cable->lock */
267 static int loopback_snd_timer_stop(struct loopback_pcm *dpcm)
268 {
269 struct loopback_cable *cable = dpcm->cable;
270 int err;
271
272 /* only stop if both devices (playback and capture) are not running */
273 if (cable->running ^ cable->pause)
274 return 0;
275
> 276 err = snd_timer_stop(cable->snd_timer.instance);
277 if (err < 0) {
278 pcm_err(dpcm->substream->pcm,
279 "snd_timer_stop(%d,%d,%d) failed with %d",
280 cable->snd_timer.id.card,
281 cable->snd_timer.id.device,
282 cable->snd_timer.id.subdevice,
283 err);
284 }
285
286 return err;
287 }
288
289 static inline int loopback_jiffies_timer_stop_sync(struct loopback_pcm *dpcm)
290 {
291 del_timer_sync(&dpcm->timer);
292
293 return 0;
294 }
295
296 /* call in loopback->cable_lock */
297 static int loopback_snd_timer_close_cable(struct loopback_pcm *dpcm)
298 {
299 struct loopback_cable *cable = dpcm->cable;
300
301 /* snd_timer was not opened */
302 if (!cable->snd_timer.instance)
303 return 0;
304
305 /* wait till drain tasklet has finished if requested */
306 tasklet_kill(&cable->snd_timer.event_tasklet);
307
308 /* will only be called from free_cable() when other stream was
309 * already closed. Other stream cannot be reopened as long as
310 * loopback->cable_lock is locked. Therefore no need to lock
311 * cable->lock;
312 */
> 313 snd_timer_close(cable->snd_timer.instance);
> 314 snd_timer_instance_free(cable->snd_timer.instance);
315 memset(&cable->snd_timer, 0, sizeof(cable->snd_timer));
316
317 return 0;
318 }
319
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 33863 bytes --]
[-- Attachment #3: Type: text/plain, Size: 161 bytes --]
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
next reply other threads:[~2019-11-23 22:19 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-23 22:17 kbuild test robot [this message]
2019-11-24 8:40 ` [alsa-devel] [sound:for-next 127/148] sound/drivers/aloop.c:313: undefined reference to `snd_timer_close' Takashi Iwai
2019-11-24 10:12 ` Andrew Gabbasov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201911240651.BBgcccwk%lkp@intel.com \
--to=lkp@intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=andrew_gabbasov@mentor.com \
--cc=kbuild-all@lists.01.org \
--cc=tiwai@suse.de \
--cc=twischer@de.adit-jv.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox