<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/sound/core/rawmidi.c, branch linux-3.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-10-30T10:07:15Z</updated>
<entry>
<title>ALSA: Avoid endless sleep after disconnect</title>
<updated>2012-10-30T10:07:15Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2012-10-16T14:43:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0914f7961babbf28aaa2f19b453951fb4841c03f'/>
<id>urn:sha1:0914f7961babbf28aaa2f19b453951fb4841c03f</id>
<content type='text'>
When disconnect callback is called, each component should wake up
sleepers and check card-&gt;shutdown flag for avoiding the endless sleep
blocking the proper resource release.

Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: Add a reference counter to card instance</title>
<updated>2012-10-30T10:07:10Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2012-10-16T11:05:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a0830dbd4e42b38aefdf3fb61ba5019a1a99ea85'/>
<id>urn:sha1:a0830dbd4e42b38aefdf3fb61ba5019a1a99ea85</id>
<content type='text'>
For more strict protection for wild disconnections, a refcount is
introduced to the card instance, and let it up/down when an object is
referred via snd_lookup_*() in the open ops.

The free-after-last-close check is also changed to check this refcount
instead of the empty list, too.

Reported-by: Matthieu CASTET &lt;matthieu.castet@parrot.com&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>sound: fix drivers needing module.h not moduleparam.h</title>
<updated>2011-10-31T23:31:19Z</updated>
<author>
<name>Paul Gortmaker</name>
</author>
<published>2011-07-15T17:13:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=65a772172b06e6e9b43e5ad77dccbcc767ff9831'/>
<id>urn:sha1:65a772172b06e6e9b43e5ad77dccbcc767ff9831</id>
<content type='text'>
The implicit presence of module.h lured several users into
incorrectly thinking that they only needed/used modparam.h
but once we clean up the module.h presence, these will show
up as build failures, so fix 'em now.

Signed-off-by: Paul Gortmaker &lt;paul.gortmaker@windriver.com&gt;
</content>
</entry>
<entry>
<title>ALSA: Use krealloc() in possible places</title>
<updated>2011-07-12T06:05:16Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2011-07-12T06:05:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3101ba035ca9ba92f6cec7fd37348646b7a5cb61'/>
<id>urn:sha1:3101ba035ca9ba92f6cec7fd37348646b7a5cb61</id>
<content type='text'>
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: rawmidi - Use workq for event handling</title>
<updated>2011-06-14T12:37:06Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2011-06-14T12:37:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b3c705aa9e9147a30009bdf6ba853aa7fe138e58'/>
<id>urn:sha1:b3c705aa9e9147a30009bdf6ba853aa7fe138e58</id>
<content type='text'>
Kill tasklet usage in rawmidi core code.  Use workq for the event callback
instead of tasklet (which is used only in core/seq/seq_midi.c).

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: rawmidi: fix oops (use after free) when unloading a driver module</title>
<updated>2010-10-17T08:11:40Z</updated>
<author>
<name>Clemens Ladisch</name>
</author>
<published>2010-10-15T10:06:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=aa73aec6c385e2c797ac25cc7ccf0318031de7c8'/>
<id>urn:sha1:aa73aec6c385e2c797ac25cc7ccf0318031de7c8</id>
<content type='text'>
When a driver module is unloaded and the last still open file is a raw
MIDI device, the card and its devices will be actually freed in the
snd_card_file_remove() call when that file is closed.  Afterwards, rmidi
and rmidi-&gt;card point into freed memory, so the module pointer is likely
to be garbage.
(This was introduced by commit 9a1b64caac82aa02cb74587ffc798e6f42c6170a.)

Signed-off-by: Clemens Ladisch &lt;clemens@ladisch.de&gt;
Reported-by: Krzysztof Foltman &lt;wdev@foltman.com&gt;
Cc: 2.6.30-2.6.35 &lt;stable@kernel.org&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: rawmidi: fix the get next midi device ioctl</title>
<updated>2010-09-09T07:05:21Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2010-09-08T22:11:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a7a13d0676335a7dc9dd72264cca02606e43aaba'/>
<id>urn:sha1:a7a13d0676335a7dc9dd72264cca02606e43aaba</id>
<content type='text'>
If we pass in a device which is higher than SNDRV_RAWMIDI_DEVICES then
the "next device" should be -1.  This function just returns device + 1.

But the main thing is that "device + 1" can lead to a (harmless) integer
overflow and that annoys static analysis tools.

[fix the case for device == SNDRV_RAWMIDI_DEVICE by tiwai]

Signed-off-by: Dan Carpenter &lt;error27@gmail.com&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: core - Define llseek fops</title>
<updated>2010-04-13T10:01:21Z</updated>
<author>
<name>Takashi Iwai</name>
</author>
<published>2010-04-13T09:49:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=02f4865fa415a87de28cc8c2e4d798ff46be1cf8'/>
<id>urn:sha1:02f4865fa415a87de28cc8c2e4d798ff46be1cf8</id>
<content type='text'>
Set no_llseek to llseek file ops of each sound component (but for hwdep).
This avoids the implicit BKL invocation via generic_file_llseek() used
as default when fops.llseek is NULL.

Also call nonseekable_open() at each open ops to ensure the file flags
have no seek bit.

Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>vfs: Implement proper O_SYNC semantics</title>
<updated>2009-12-10T14:02:50Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2009-10-27T10:05:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6b2f3d1f769be5779b479c37800229d9a4809fc3'/>
<id>urn:sha1:6b2f3d1f769be5779b479c37800229d9a4809fc3</id>
<content type='text'>
While Linux provided an O_SYNC flag basically since day 1, it took until
Linux 2.4.0-test12pre2 to actually get it implemented for filesystems,
since that day we had generic_osync_around with only minor changes and the
great "For now, when the user asks for O_SYNC, we'll actually give
O_DSYNC" comment.  This patch intends to actually give us real O_SYNC
semantics in addition to the O_DSYNC semantics.  After Jan's O_SYNC
patches which are required before this patch it's actually surprisingly
simple, we just need to figure out when to set the datasync flag to
vfs_fsync_range and when not.

This patch renames the existing O_SYNC flag to O_DSYNC while keeping it's
numerical value to keep binary compatibility, and adds a new real O_SYNC
flag.  To guarantee backwards compatiblity it is defined as expanding to
both the O_DSYNC and the new additional binary flag (__O_SYNC) to make
sure we are backwards-compatible when compiled against the new headers.

This also means that all places that don't care about the differences can
just check O_DSYNC and get the right behaviour for O_SYNC, too - only
places that actuall care need to check __O_SYNC in addition.  Drivers and
network filesystems have been updated in a fail safe way to always do the
full sync magic if O_DSYNC is set.  The few places setting O_SYNC for
lower layers are kept that way for now to stay failsafe.

We enforce that O_DSYNC is set when __O_SYNC is set early in the open path
to make sure we always get these sane options.

Note that parisc really screwed up their headers as they already define a
O_DSYNC that has always been a no-op.  We try to repair it by using it for
the new O_DSYNC and redefinining O_SYNC to send both the traditional
O_SYNC numerical value _and_ the O_DSYNC one.

Cc: Richard Henderson &lt;rth@twiddle.net&gt;
Cc: Ivan Kokshaysky &lt;ink@jurassic.park.msu.ru&gt;
Cc: Grant Grundler &lt;grundler@parisc-linux.org&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: "H. Peter Anvin" &lt;hpa@zytor.com&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Cc: Andreas Dilger &lt;adilger@sun.com&gt;
Acked-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Acked-by: Kyle McMartin &lt;kyle@mcmartin.ca&gt;
Acked-by: Ulrich Drepper &lt;drepper@redhat.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
</content>
</entry>
<entry>
<title>sound: rawmidi: record a substream's owner process</title>
<updated>2009-11-10T15:32:38Z</updated>
<author>
<name>Clemens Ladisch</name>
</author>
<published>2009-11-10T09:14:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7584af10cf46e0f4aa1696f1be79fa0f19a945ba'/>
<id>urn:sha1:7584af10cf46e0f4aa1696f1be79fa0f19a945ba</id>
<content type='text'>
Record the pid of the task that opened a RawMIDI substream.

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