[alsa-devel] axfer: call of polling system call never return when driver fails to queue no period-wakeup event due to the lack of hw IRQ context

GitHub issues - edited github at alsa-project.org
Tue Oct 29 05:22:24 CET 2019


alsa-project/alsa-utils issue #30 was edited from takaswie:

Axfer calls polling system call(i.e. poll(2), epoll(7), select(7)) without explicit timeout when running for IRQ-based scheduling model. In a case that driver achieves to control sound hardware for periodical hardware IRQ, the call can return due to any event queued by the driver in hardware IRQ context. However, in a case that driver fails to control it, the call cannot return.

Especially, this situation easily occurs when developers work to support hardware newly. It's better to care for the situation.

How to reproduce:
1. prepare sound hardware which driver fail to control for periodical hardware IRQ.
2. execute axfer for the driver/hardware with options to:
  * use IRQ-based scheduling model: `--sched-model=irq`
  * use polling system call: without `--test-nowait`
3. the running process blocks as a call of polling system call (defaultly poll(2) by snd_pcm_wait())

Issue URL     : https://github.com/alsa-project/alsa-utils/issues/30
Repository URL: https://github.com/alsa-project/alsa-utils


More information about the Alsa-devel mailing list