<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/sound/firewire/oxfw, branch linux-5.0.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.0.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.0.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2018-11-13T11:02:01Z</updated>
<entry>
<title>ALSA: oxfw: add support for APOGEE duet FireWire</title>
<updated>2018-11-13T11:02:01Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2018-11-13T03:01:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fba43f454cdf9caa3185219d116bd2a6e6354552'/>
<id>urn:sha1:fba43f454cdf9caa3185219d116bd2a6e6354552</id>
<content type='text'>
This commit adds support for APOGEE duet FireWire, launched 2007, already
discontinued. This model uses Oxford Semiconductor FW971 as its
communication engine. Below is information on Configuration ROM of this
unit. The unit supports some AV/C commands defined by Audio subunit
specification and vendor dependent commands.

$ ./hinawa-config-rom-printer /dev/fw1
{ 'bus-info': { 'adj': False,
                'bmc': False,
                'chip_ID': 42949742248,
                'cmc': False,
                'cyc_clk_acc': 255,
                'generation': 0,
                'imc': False,
                'isc': True,
                'link_spd': 3,
                'max_ROM': 0,
                'max_rec': 64,
                'name': '1394',
                'node_vendor_ID': 987,
                'pmc': False},
  'root-directory': [ ['VENDOR', 987],
                      ['DESCRIPTOR', 'Apogee Electronics'],
                      ['MODEL', 122333],
                      ['DESCRIPTOR', 'Duet'],
                      [ 'NODE_CAPABILITIES',
                        { 'addressing': {'64': True, 'fix': True, 'prv': False},
                          'misc': {'int': False, 'ms': False, 'spt': True},
                          'state': { 'atn': False,
                                     'ded': False,
                                     'drq': True,
                                     'elo': False,
                                     'init': False,
                                     'lst': True,
                                     'off': False},
                          'testing': {'bas': False, 'ext': False}}],
                      [ 'UNIT',
                        [ ['SPECIFIER_ID', 41005],
                          ['VERSION', 65537],
                          ['MODEL', 122333],
                          ['DESCRIPTOR', 'Duet']]]]}

Signed-off-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: firewire: simplify cleanup process when failing to register sound card</title>
<updated>2018-10-10T10:11:50Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2018-10-10T06:35:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3babca4555b20fc80aff4776662fb237257d9afd'/>
<id>urn:sha1:3babca4555b20fc80aff4776662fb237257d9afd</id>
<content type='text'>
In former commits, .private_free callback releases resources just for
data transmission. This release function can be called without the
resources are actually allocated in error paths.

This commit applies a small refactoring to clean up codes in error
paths.

Signed-off-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: firewire: release reference count of firewire unit in .remove callback of bus driver</title>
<updated>2018-10-10T10:11:41Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2018-10-10T06:35:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5b14ec25a79bf60fc9a663fe579a500b6ac9d8ab'/>
<id>urn:sha1:5b14ec25a79bf60fc9a663fe579a500b6ac9d8ab</id>
<content type='text'>
In a previous commit, drivers in ALSA firewire stack blocks .remove
callback of bus driver. This enables to release members of private
data in the callback after releasing device of sound card.

This commit simplifies codes to release the members.

Signed-off-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: firewire: block .remove callback of bus driver till all of ALSA character devices are released</title>
<updated>2018-10-10T10:11:34Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2018-10-10T06:34:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=61ccc6f6b27c03bb32ca38a3c580d49ce1612d43'/>
<id>urn:sha1:61ccc6f6b27c03bb32ca38a3c580d49ce1612d43</id>
<content type='text'>
At present, in .remove callback of bus driver just decrease reference
count of device for ALSA card instance. This delegates release of the
device to a process in which the last of ALSA character device is
released.

On the other hand, the other drivers such as for devices on PCIe are
programmed to block .remove callback of bus driver till all of ALSA
character devices are released.

For consistency of behaviour for whole drivers, this probably confuses
users. This commit takes drivers in ALSA firewire stack to imitate the
above behaviour.

Signed-off-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: oxfw: use managed-resource to maintain cache of stream formats</title>
<updated>2018-10-04T05:54:09Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2018-10-02T23:21:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cd3b7116b57527f659b96ff6988d2de3d448c5b3'/>
<id>urn:sha1:cd3b7116b57527f659b96ff6988d2de3d448c5b3</id>
<content type='text'>
ALSA oxfw driver allocates memory objects for cache of stream formats.
The objects are used to maintain packet streaming by components for
ALSA rawMIDI/PCM interface. They can be released as managed-resource
of 'struct snd_card.card_dev'.

This commit uses managed-resource of the sound card device for this
purpose.

Signed-off-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: oxfw: use managed-resource to maintain model-specific data</title>
<updated>2018-10-04T05:54:08Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2018-10-02T23:21:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=72bc8c4378f82307ff09f0959011fef2c818146d'/>
<id>urn:sha1:72bc8c4378f82307ff09f0959011fef2c818146d</id>
<content type='text'>
ALSA oxfw driver allocates memory objects for data specific to some
models. These objects are used to maintain functionalities specific
to the models for ALSA rawMIDI/control interfaces. They can be
released as managed-resource of 'struct snd_card.card_dev'.

This commit uses managed-resource of the sound card device for this
purpose.

Signed-off-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: firewire: use managed-resource of fw unit device for private data</title>
<updated>2018-10-04T05:54:01Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2018-10-02T23:21:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=366a20d7a75cff7f89dede6fdfd41bd491aaf8ac'/>
<id>urn:sha1:366a20d7a75cff7f89dede6fdfd41bd491aaf8ac</id>
<content type='text'>
At present, private data of each driver in ALSA firewire stack is
allocated/freed by kernel slab allocator for corresponding unit on
IEEE 1394 bus. In this case, resource-managed slab allocator is
available to release memory object automatically just before releasing
device structure for the unit. This idea can prevent runtime from
memory leak due to programming mistakes.

This commit uses the allocator for the private data. These drivers
already use reference counter to maintain lifetime of device structure
for the unit by a pair of fw_unit_get()/fw_unit_put(). The private data
is safely released in a callback of 'struct snd_card.private_free().

Signed-off-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: oxfw: fix memory leak of discovered stream formats at error path</title>
<updated>2018-09-17T11:40:47Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2018-09-17T08:26:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1064bc685d359f549f91c2d5f111965a9284f328'/>
<id>urn:sha1:1064bc685d359f549f91c2d5f111965a9284f328</id>
<content type='text'>
After finishing discover of stream formats, ALSA OXFW driver has memory
leak of allocated memory object at error path.

This commit releases the memory object at the error path.

Fixes: 6c29230e2a5f ('ALSA: oxfw: delayed registration of sound card')
Cc: &lt;stable@vger.kernel.org&gt; # v4.7+
Signed-off-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: oxfw: fix memory leak for model-dependent data at error path</title>
<updated>2018-09-17T11:40:09Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2018-09-17T08:26:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ce925f088b979537f22f9e05eb923ef9822ca139'/>
<id>urn:sha1:ce925f088b979537f22f9e05eb923ef9822ca139</id>
<content type='text'>
After allocating model-dependent data, ALSA OXFW driver has memory leak
of the data at error path.

This commit releases the data at the error path.

Fixes: 6c29230e2a5f ('ALSA: oxfw: delayed registration of sound card')
Cc: &lt;stable@vger.kernel.org&gt; # v4.7+
Signed-off-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: oxfw: fix memory leak of private data</title>
<updated>2018-09-13T13:15:39Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2018-09-13T12:31:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=498fe23aad8e3b5a9554f55719c537603b4476ea'/>
<id>urn:sha1:498fe23aad8e3b5a9554f55719c537603b4476ea</id>
<content type='text'>
Although private data of sound card instance is usually allocated in the
tail of the instance, drivers in ALSA firewire stack allocate the private
data before allocating the instance. In this case, the private data
should be released explicitly at .private_free callback of the instance.

This commit fixes memory leak following to the above design.

Fixes: 6c29230e2a5f ('ALSA: oxfw: delayed registration of sound card')
Cc: &lt;stable@vger.kernel.org&gt; # v4.7+
Signed-off-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
</feed>
