<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/git/stable/linux-stable.git/sound/drivers, branch linux-5.5.y</title>
<subtitle>Linux kernel stable tree</subtitle>
<id>https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/atom?h=linux-5.5.y</id>
<link rel='self' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/atom?h=linux-5.5.y'/>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/'/>
<updated>2020-02-11T12:36:43+00:00</updated>
<entry>
<title>ALSA: dummy: Fix PCM format loop in proc output</title>
<updated>2020-02-11T12:36:43+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2020-02-01T08:05:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=18ee3f0608160e7833fc63b7aa2a9a57601f6aa4'/>
<id>urn:sha1:18ee3f0608160e7833fc63b7aa2a9a57601f6aa4</id>
<content type='text'>
commit 2acf25f13ebe8beb40e97a1bbe76f36277c64f1e upstream.

The loop termination for iterating over all formats should contain
SNDRV_PCM_FORMAT_LAST, not less than it.

Fixes: 9b151fec139d ("ALSA: dummy - Add debug proc file")
Cc: &lt;stable@vger.kernel.org&gt;
Link: https://lore.kernel.org/r/20200201080530.22390-3-tiwai@suse.de
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ALSA: aloop: Avoid pointer dereference before null-check</title>
<updated>2019-11-27T11:16:00+00:00</updated>
<author>
<name>Andrew Gabbasov</name>
<email>andrew_gabbasov@mentor.com</email>
</author>
<published>2019-11-27T11:06:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=5061bb7065d05efbac35a660eb30ed4c3100690b'/>
<id>urn:sha1:5061bb7065d05efbac35a660eb30ed4c3100690b</id>
<content type='text'>
Static analysis tools (cppcheck and PVS Studio) report an error
in loopback_snd_timer_period_elapsed() regarding dpcm_play pointer
dereference earlier than its null-check. And although this is a result
of a formal check, and the pointer correctness is also protected
by having a corresponding bit set in the "running" mask, re-ordering
of the lines can imake the code even formally correct and eliminate
those static analysis error reports.

Fixes: 26c53379f98d ("ALSA: aloop: Support selection of snd_timer instead of jiffies")
Reported-by: Eugeniu Rosca &lt;erosca@de.adit-jv.com&gt;
Signed-off-by: Andrew Gabbasov &lt;andrew_gabbasov@mentor.com&gt;
Link: https://lore.kernel.org/r/20191127110622.26105-1-andrew_gabbasov@mentor.com
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: aloop: Fix dependency on timer API</title>
<updated>2019-11-24T08:40:53+00:00</updated>
<author>
<name>Takashi Iwai</name>
<email>tiwai@suse.de</email>
</author>
<published>2019-11-24T08:39:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=c6b6fc206586cc07a18595d2a3d815a806a057d0'/>
<id>urn:sha1:c6b6fc206586cc07a18595d2a3d815a806a057d0</id>
<content type='text'>
An explicit Kconfig dependency is missing for the recent addition of
the timer support.  CONFIG_SND_TIMER isn't always selected by SND_PCM.

Fixes: 26c53379f98d ("ALSA: aloop: Support selection of snd_timer instead of jiffies")
Reported-by: kbuild test robot &lt;lkp@intel.com&gt;
Link: https://lore.kernel.org/r/20191124083924.14049-1-tiwai@suse.de
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: aloop: Avoid unexpected timer event callback tasklets</title>
<updated>2019-11-22T18:13:23+00:00</updated>
<author>
<name>Andrew Gabbasov</name>
<email>andrew_gabbasov@mentor.com</email>
</author>
<published>2019-11-22T17:52:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=9314e44f455c8b46d08b2d379cb9e8fba5767207'/>
<id>urn:sha1:9314e44f455c8b46d08b2d379cb9e8fba5767207</id>
<content type='text'>
loopback_snd_timer_close_cable() function waits until all
scheduled tasklets are completed, but the timer is closed after that
and can generate more event callbacks, scheduling new tasklets,
that will not be synchronized with cable closing.
Move tasklet_kill() call to be executed after snd_timer_close()
call to avoid such case.

Fixes: 26c53379f98d ("ALSA: aloop: Support selection of snd_timer instead of jiffies")
Signed-off-by: Andrew Gabbasov &lt;andrew_gabbasov@mentor.com&gt;
Link: https://lore.kernel.org/r/20191122175218.17187-2-andrew_gabbasov@mentor.com
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: aloop: Remove redundant locking in timer open function</title>
<updated>2019-11-22T18:11:23+00:00</updated>
<author>
<name>Andrew Gabbasov</name>
<email>andrew_gabbasov@mentor.com</email>
</author>
<published>2019-11-22T17:52:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=c037239c2373f79613dac32d0fb20c07f12f719b'/>
<id>urn:sha1:c037239c2373f79613dac32d0fb20c07f12f719b</id>
<content type='text'>
loopback_parse_timer_id() uses snd_card_ref(), that can lock on mutex,
also snd_timer_instance_new() uses non-atomic allocation, that can sleep.
So, both functions can not be called from loopback_snd_timer_open()
with cable-&gt;lock spinlock locked.

Moreover, most part of loopback_snd_timer_open() function body works
when the opposite stream of the same cable does not yet exist, and
the current stream is not yet completely open and can't be running,
so existing locking of loopback-&gt;cable_lock mutex is enough to protect
from conflicts with simultaneous opening or closing.
Locking of cable-&gt;lock spinlock is not needed in this case.

Fixes: 26c53379f98d ("ALSA: aloop: Support selection of snd_timer instead of jiffies")
Signed-off-by: Andrew Gabbasov &lt;andrew_gabbasov@mentor.com&gt;
Link: https://lore.kernel.org/r/20191122175218.17187-1-andrew_gabbasov@mentor.com
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: aloop: Support runtime change of snd_timer via info interface</title>
<updated>2019-11-20T18:38:30+00:00</updated>
<author>
<name>Andrew Gabbasov</name>
<email>andrew_gabbasov@mentor.com</email>
</author>
<published>2019-11-20T17:49:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=c6ae99605633cade7dc61a2b35b04dda90302dad'/>
<id>urn:sha1:c6ae99605633cade7dc61a2b35b04dda90302dad</id>
<content type='text'>
Show and change sound card timer source with read-write info
file in proc filesystem. Initial string can still be set as
module parameter.

The timer source string value can be changed at any time,
but it is latched by PCM substream open callback (the first one
for a particular cable). At this point it is actually used, that
is the string is parsed, and the timer is looked up and opened.

The timer source is set for a loopback card (the same as initial
setting by module parameter), but every cable uses the value,
current at the moment of open.

Setting the value to empty string switches the timer to jiffies.

Signed-off-by: Andrew Gabbasov &lt;andrew_gabbasov@mentor.com&gt;
Link: https://lore.kernel.org/r/20191120174955.6410-8-andrew_gabbasov@mentor.com
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: aloop: Support selection of snd_timer instead of jiffies</title>
<updated>2019-11-20T18:38:30+00:00</updated>
<author>
<name>Timo Wischer</name>
<email>twischer@de.adit-jv.com</email>
</author>
<published>2019-11-20T17:49:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=26c53379f98d22d6a3e50bb146651dc7824334d7'/>
<id>urn:sha1:26c53379f98d22d6a3e50bb146651dc7824334d7</id>
<content type='text'>
to do synchronous audio forwarding between hardware sound card and aloop
devices. Such an audio route could look like the following:
Sound card -&gt; Loopback application -&gt; ALSA loop device -&gt; arecord

In this case the loopback device should use the sound timer of the sound
card. Without this patch the loopback application has to implement an
adaptive sample rate converter to align the different clocks of the
different ALSA devices.

The used timer can be selected by referring to a sound card, its device
and subdevice, when loading the module:
  $ modprobe snd_aloop enable=1 timer_source=[&lt;card&gt;[.&lt;dev&gt;[.&lt;subdev&gt;]]]
&lt;card&gt; is the name (id) of the sound card or a card number.
&lt;dev&gt; and &lt;subdev&gt; are device and subdevice numbers (defaults are 0).
Empty string as a value of timer_source= parameter enables previous
functionality (using jiffies timer).

Signed-off-by: Timo Wischer &lt;twischer@de.adit-jv.com&gt;
Signed-off-by: Andrew Gabbasov &lt;andrew_gabbasov@mentor.com&gt;
Link: https://lore.kernel.org/r/20191120174955.6410-7-andrew_gabbasov@mentor.com
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: aloop: Move CABLE_VALID_BOTH to the top of file</title>
<updated>2019-11-20T18:38:29+00:00</updated>
<author>
<name>Timo Wischer</name>
<email>twischer@de.adit-jv.com</email>
</author>
<published>2019-11-20T17:49:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=fd1f7c743d30938d3befb1af038a510c003a6a27'/>
<id>urn:sha1:fd1f7c743d30938d3befb1af038a510c003a6a27</id>
<content type='text'>
so all functions can use the same.

Signed-off-by: Timo Wischer &lt;twischer@de.adit-jv.com&gt;
Signed-off-by: Andrew Gabbasov &lt;andrew_gabbasov@mentor.com&gt;
Link: https://lore.kernel.org/r/20191120174955.6410-6-andrew_gabbasov@mentor.com
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: aloop: Rename all jiffies timer specific functions</title>
<updated>2019-11-20T18:38:28+00:00</updated>
<author>
<name>Timo Wischer</name>
<email>twischer@de.adit-jv.com</email>
</author>
<published>2019-11-20T17:49:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=8e3bf7cde43339507f9ce15fc10ff329e76ad649'/>
<id>urn:sha1:8e3bf7cde43339507f9ce15fc10ff329e76ad649</id>
<content type='text'>
This commit does not change the behaviour. It only separates the jiffies
timer specific implementation from the generic part.

Signed-off-by: Timo Wischer &lt;twischer@de.adit-jv.com&gt;
Signed-off-by: Andrew Gabbasov &lt;andrew_gabbasov@mentor.com&gt;
Link: https://lore.kernel.org/r/20191120174955.6410-5-andrew_gabbasov@mentor.com
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: aloop: Use callback functions for timer specific implementations</title>
<updated>2019-11-20T18:38:27+00:00</updated>
<author>
<name>Timo Wischer</name>
<email>twischer@de.adit-jv.com</email>
</author>
<published>2019-11-20T17:49:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.rulkc.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?id=133f37593eb6db43158bafd52937974acccd1d29'/>
<id>urn:sha1:133f37593eb6db43158bafd52937974acccd1d29</id>
<content type='text'>
This commit only refactors the implementation. It does not change the
behaviour.
It is required to support other timers (e.g sound timer).

Signed-off-by: Timo Wischer &lt;twischer@de.adit-jv.com&gt;
Signed-off-by: Andrew Gabbasov &lt;andrew_gabbasov@mentor.com&gt;
Link: https://lore.kernel.org/r/20191120174955.6410-4-andrew_gabbasov@mentor.com
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
</feed>
