<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/sound/drivers, branch linux-2.6.33.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.33.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.33.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2009-12-01T14:58:10Z</updated>
<entry>
<title>Merge branch 'topic/beep-rename' into topic/core-change</title>
<updated>2009-12-01T14:58:10Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2009-12-01T14:58:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=75639e7ee1401b3876c7a00ffe96ea8027668690'/>
<id>urn:sha1:75639e7ee1401b3876c7a00ffe96ea8027668690</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ALSA: rename "PC Speaker" and "PC Beep" controls to "Beep"</title>
<updated>2009-11-05T08:00:18Z</updated>
<author>
<name>Jaroslav Kysela</name>
</author>
<published>2009-11-03T14:47:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d355c82a0191d5a3e971bd5af96cc81fe3ed25b9'/>
<id>urn:sha1:d355c82a0191d5a3e971bd5af96cc81fe3ed25b9</id>
<content type='text'>
To avoid confusion in control names for the standard analog PC Beep generator
using a small Internal PC Speaker, rename all related "PC Speaker" and "PC
Beep" controls to "Beep" only. This name is more universal and can be also
used on more platforms without confusion.

Introduce also "Internal Speaker" in ControlNames.txt for systems with
full-featured build-in internal speaker.

Signed-off-by: Jaroslav Kysela &lt;perex@perex.cz&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: dummy - Fix descriptions of pcm_substreams parameter</title>
<updated>2009-11-02T13:11:55Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2009-11-02T13:10:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=23aebca486429b74c35b41ac5cac7ce97609fd6a'/>
<id>urn:sha1:23aebca486429b74c35b41ac5cac7ce97609fd6a</id>
<content type='text'>
Now up to 128 substreams are supported.

Reported-by: Adrian Bridgett &lt;adrian@smop.co.uk&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: snd-pcsp: add nopcm mode</title>
<updated>2009-11-01T10:13:19Z</updated>
<author>
<name>Stas Sergeev</name>
</author>
<published>2009-11-01T10:13:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bcc2c6b7cb320d10c7fcccd87dce87f4384b4332'/>
<id>urn:sha1:bcc2c6b7cb320d10c7fcccd87dce87f4384b4332</id>
<content type='text'>
Currently, if the high-res timers are unavailable, snd-pcsp does not
initialize. People who choose it over pcspkr, loose their console beeps
in that case and get annoyed.
With this patch, the console beeps remain regardless of the high-res
timers. Additionally, the "nopcm" modparam is added to forcibly
disable the PCM capabilities of the driver.

Signed-off-by: Stas Sergeev &lt;stsp@aknet.ru&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: sound: Move dereference after NULL test and drop unnecessary NULL tests</title>
<updated>2009-10-30T11:01:27Z</updated>
<author>
<name>Julia Lawall</name>
</author>
<published>2009-10-17T06:33:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4b3be6afa4ab8b3fdce39df68bad71f8b85164de'/>
<id>urn:sha1:4b3be6afa4ab8b3fdce39df68bad71f8b85164de</id>
<content type='text'>
In pcm.c, if the NULL test on pcm is needed, then the dereference should be
after the NULL test.

In dummy.c and ali5451.c, the context of the calls to
snd_card_dummy_new_mixer and snd_ali_free_voice show that dummy and pvoice,
respectively cannot be NULL.

A simplified version of the semantic match that detects this problem is as
follows (http://coccinelle.lip6.fr/):

// &lt;smpl&gt;
@match exists@
expression x, E;
identifier fld;
@@

* x-&gt;fld
  ... when != \(x = E\|&amp;x\)
* x == NULL
// &lt;/smpl&gt;

Signed-off-by: Julia Lawall &lt;julia@diku.dk&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: pcsp - Fix nforce workaround</title>
<updated>2009-10-30T10:55:22Z</updated>
<author>
<name>Stas Sergeev</name>
</author>
<published>2009-10-30T10:51:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b71207e9dc044b30d8b5d7f1c2290ba14563f05c'/>
<id>urn:sha1:b71207e9dc044b30d8b5d7f1c2290ba14563f05c</id>
<content type='text'>
The attached patch fixes the problems introduced in this commit:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=eea0579fc85e64e9f05361d5aacf496fe7a151aa

- Fix nForce workaround by honouring the pointer_update var
- Revert "ns" to u64, as per the hrtimer API
- Revert to the zero-delay timer startup, since I can't reproduce any
  problem with it (please, give me the hint!)

Signed-off-by: Stas Sergeev &lt;stsp@aknet.ru&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: opl3: circular locking in the snd_opl3_note_on() and snd_opl3_note_off()</title>
<updated>2009-10-08T09:48:10Z</updated>
<author>
<name>Krzysztof Helt</name>
</author>
<published>2009-10-07T20:51:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8dce39b8955be6164172cb6204ef8fc21de27431'/>
<id>urn:sha1:8dce39b8955be6164172cb6204ef8fc21de27431</id>
<content type='text'>
Fix following circular locking in the opl3 driver.

=======================================================
[ INFO: possible circular locking dependency detected ]
2.6.32-rc3 #87
-------------------------------------------------------
swapper/0 is trying to acquire lock:
 (&amp;opl3-&gt;voice_lock){..-...}, at: [&lt;cca748fe&gt;] snd_opl3_note_off+0x1e/0xe0 [snd_opl3_synth]

but task is already holding lock:
 (&amp;opl3-&gt;sys_timer_lock){..-...}, at: [&lt;cca75169&gt;] snd_opl3_timer_func+0x19/0xc0 [snd_opl3_synth]

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-&gt; #1 (&amp;opl3-&gt;sys_timer_lock){..-...}:
       [&lt;c02461d5&gt;] validate_chain+0xa25/0x1040
       [&lt;c0246aca&gt;] __lock_acquire+0x2da/0xab0
       [&lt;c024731a&gt;] lock_acquire+0x7a/0xa0
       [&lt;c044c300&gt;] _spin_lock_irqsave+0x40/0x60
       [&lt;cca75046&gt;] snd_opl3_note_on+0x686/0x790 [snd_opl3_synth]
       [&lt;cca68912&gt;] snd_midi_process_event+0x322/0x590 [snd_seq_midi_emul]
       [&lt;cca74245&gt;] snd_opl3_synth_event_input+0x15/0x20 [snd_opl3_synth]
       [&lt;cca4dcc0&gt;] snd_seq_deliver_single_event+0x100/0x200 [snd_seq]
       [&lt;cca4de07&gt;] snd_seq_deliver_event+0x47/0x1f0 [snd_seq]
       [&lt;cca4e50b&gt;] snd_seq_dispatch_event+0x3b/0x140 [snd_seq]
       [&lt;cca5008c&gt;] snd_seq_check_queue+0x10c/0x120 [snd_seq]
       [&lt;cca5037b&gt;] snd_seq_enqueue_event+0x6b/0xe0 [snd_seq]
       [&lt;cca4e0fd&gt;] snd_seq_client_enqueue_event+0xdd/0x100 [snd_seq]
       [&lt;cca4eb7a&gt;] snd_seq_write+0xea/0x190 [snd_seq]
       [&lt;c02827b6&gt;] vfs_write+0x96/0x160
       [&lt;c0282c9d&gt;] sys_write+0x3d/0x70
       [&lt;c0202c45&gt;] syscall_call+0x7/0xb

-&gt; #0 (&amp;opl3-&gt;voice_lock){..-...}:
       [&lt;c02467e6&gt;] validate_chain+0x1036/0x1040
       [&lt;c0246aca&gt;] __lock_acquire+0x2da/0xab0
       [&lt;c024731a&gt;] lock_acquire+0x7a/0xa0
       [&lt;c044c300&gt;] _spin_lock_irqsave+0x40/0x60
       [&lt;cca748fe&gt;] snd_opl3_note_off+0x1e/0xe0 [snd_opl3_synth]
       [&lt;cca751f0&gt;] snd_opl3_timer_func+0xa0/0xc0 [snd_opl3_synth]
       [&lt;c022ac46&gt;] run_timer_softirq+0x166/0x1e0
       [&lt;c02269e8&gt;] __do_softirq+0x78/0x110
       [&lt;c0226ac6&gt;] do_softirq+0x46/0x50
       [&lt;c0226e26&gt;] irq_exit+0x36/0x40
       [&lt;c0204bd2&gt;] do_IRQ+0x42/0xb0
       [&lt;c020328e&gt;] common_interrupt+0x2e/0x40
       [&lt;c021092f&gt;] apm_cpu_idle+0x10f/0x290
       [&lt;c0201b11&gt;] cpu_idle+0x21/0x40
       [&lt;c04443cd&gt;] rest_init+0x4d/0x60
       [&lt;c055c835&gt;] start_kernel+0x235/0x280
       [&lt;c055c066&gt;] i386_start_kernel+0x66/0x70

other info that might help us debug this:

2 locks held by swapper/0:
 #0:  (&amp;opl3-&gt;tlist){+.-...}, at: [&lt;c022abd0&gt;] run_timer_softirq+0xf0/0x1e0
 #1:  (&amp;opl3-&gt;sys_timer_lock){..-...}, at: [&lt;cca75169&gt;] snd_opl3_timer_func+0x19/0xc0 [snd_opl3_synth]

stack backtrace:
Pid: 0, comm: swapper Not tainted 2.6.32-rc3 #87
Call Trace:
 [&lt;c0245188&gt;] print_circular_bug+0xc8/0xd0
 [&lt;c02467e6&gt;] validate_chain+0x1036/0x1040
 [&lt;c0247f14&gt;] ? check_usage_forwards+0x54/0xd0
 [&lt;c0246aca&gt;] __lock_acquire+0x2da/0xab0
 [&lt;c024731a&gt;] lock_acquire+0x7a/0xa0
 [&lt;cca748fe&gt;] ? snd_opl3_note_off+0x1e/0xe0 [snd_opl3_synth]
 [&lt;c044c300&gt;] _spin_lock_irqsave+0x40/0x60
 [&lt;cca748fe&gt;] ? snd_opl3_note_off+0x1e/0xe0 [snd_opl3_synth]
 [&lt;cca748fe&gt;] snd_opl3_note_off+0x1e/0xe0 [snd_opl3_synth]
 [&lt;c044c307&gt;] ? _spin_lock_irqsave+0x47/0x60
 [&lt;cca751f0&gt;] snd_opl3_timer_func+0xa0/0xc0 [snd_opl3_synth]
 [&lt;c022ac46&gt;] run_timer_softirq+0x166/0x1e0
 [&lt;c022abd0&gt;] ? run_timer_softirq+0xf0/0x1e0
 [&lt;cca75150&gt;] ? snd_opl3_timer_func+0x0/0xc0 [snd_opl3_synth]
 [&lt;c02269e8&gt;] __do_softirq+0x78/0x110
 [&lt;c044c0fd&gt;] ? _spin_unlock+0x1d/0x20
 [&lt;c025915f&gt;] ? handle_level_irq+0xaf/0xe0
 [&lt;c0226ac6&gt;] do_softirq+0x46/0x50
 [&lt;c0226e26&gt;] irq_exit+0x36/0x40
 [&lt;c0204bd2&gt;] do_IRQ+0x42/0xb0
 [&lt;c024463c&gt;] ? trace_hardirqs_on_caller+0x12c/0x180
 [&lt;c020328e&gt;] common_interrupt+0x2e/0x40
 [&lt;c0208d88&gt;] ? default_idle+0x38/0x50
 [&lt;c021092f&gt;] apm_cpu_idle+0x10f/0x290
 [&lt;c0201b11&gt;] cpu_idle+0x21/0x40
 [&lt;c04443cd&gt;] rest_init+0x4d/0x60
 [&lt;c055c835&gt;] start_kernel+0x235/0x280
 [&lt;c055c210&gt;] ? unknown_bootoption+0x0/0x210
 [&lt;c055c066&gt;] i386_start_kernel+0x66/0x70

Signed-off-by: Krzysztof Helt &lt;krzysztof.h1@wp.pl&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: dummy - Increase MAX_PCM_SUBSTREAMS to 128</title>
<updated>2009-09-08T16:15:17Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2009-09-08T16:15:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b888d1ce82ebd2bafecf64c765754968e78b4228'/>
<id>urn:sha1:b888d1ce82ebd2bafecf64c765754968e78b4228</id>
<content type='text'>
Increase the limit of PCM substreams to 128.  The default value is
unchanged; only the max accept value is increased.

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: dummy - Add debug proc file</title>
<updated>2009-09-08T12:46:49Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2009-09-08T12:30:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9b151fec139d32ab3acce5da5761d868e205fadd'/>
<id>urn:sha1:9b151fec139d32ab3acce5da5761d868e205fadd</id>
<content type='text'>
Added the debug proc file to see or change the snd_pcm_hardware fields
to emulate.  The parameters can be changed by writing to a proc file like:

    # echo periods_min 4 &gt; /proc/asound/card1/dummy_pcm

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: dummy - Fake buffer allocations</title>
<updated>2009-09-07T07:01:10Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2009-09-04T10:19:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a68c4d11336610dc348620766119db09675707c2'/>
<id>urn:sha1:a68c4d11336610dc348620766119db09675707c2</id>
<content type='text'>
Instead of allocating the real buffers, use a fake buffer and ignore
read/write in the dummy driver so that we can save the resources.
For mmap, a single page (unique to the direction, though) is reused
to all buffers.

When the app requires to read/write the real buffers, pass fake_buffer=0
module option at loading time.  This will get back to the old behavior.

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
</feed>
