<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/sound/firewire/fireworks, branch linux-4.1.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.1.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.1.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-10-02T22:07:12Z</updated>
<entry>
<title>ALSA: fireworks: accessing to user space outside spinlock</title>
<updated>2016-10-02T22:07:12Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2016-08-31T13:58:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=854a40facfc9f5463ff6f084cd7d885b5e06ef9f'/>
<id>urn:sha1:854a40facfc9f5463ff6f084cd7d885b5e06ef9f</id>
<content type='text'>
[ Upstream commit 6b1ca4bcadf9ef077cc5f03c6822ba276ed14902 ]

In hwdep interface of fireworks driver, accessing to user space is in a
critical section with disabled local interrupt. Depending on architecture,
accessing to user space can cause page fault exception. Then local
processor stores machine status and handles the synchronous event. A
handler corresponding to the event can call task scheduler to wait for
preparing pages. In a case of usage of single core processor, the state to
disable local interrupt is worse because it don't handle usual interrupts
from hardware.

This commit fixes this bug, performing the accessing outside spinlock. This
commit also gives up counting the number of queued response messages to
simplify ring-buffer management.

Reported-by: Vaishali Thakkar &lt;vaishali.thakkar@oracle.com&gt;
Cc: stable@vger.kernel.org
Fixes: 555e8a8f7f14('ALSA: fireworks: Add command/response functionality into hwdep interface')
Signed-off-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
</content>
</entry>
<entry>
<title>ALSA: fireworks/bebob/oxfw/dice: enable to make as built-in</title>
<updated>2016-01-31T19:23:32Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2015-10-18T04:46:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c397bc975aa4b205a99b0c651af931537be871e5'/>
<id>urn:sha1:c397bc975aa4b205a99b0c651af931537be871e5</id>
<content type='text'>
commit df4833886f91eea0d20e6e97066adab308625ef8 upstream.

When committed to upstream, these four modules had wrong entries for
Makefile. This forces them to be loadable modules even if they're set
as built-in.

This commit fixes this bug.

Fixes: b5b04336015e('ALSA: fireworks: Add skelton for Fireworks based devices')
Fixes: fd6f4b0dc167('ALSA: bebob: Add skelton for BeBoB based devices')
Fixes: 1a4e39c2e5ca('ALSA: oxfw: Move to its own directory')
Fixes: 14ff6a094815('ALSA: dice: Move file to its own directory')
Signed-off-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;
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: fireworks/firewire-lib: add support for recent firmware quirk</title>
<updated>2015-08-17T03:52:21Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2015-08-05T00:21:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4a4a6ddbd97f8942916c88dba7f6a189434fd222'/>
<id>urn:sha1:4a4a6ddbd97f8942916c88dba7f6a189434fd222</id>
<content type='text'>
commit 18f5ed365d3f188a91149d528c853000330a4a58 upstream.

Fireworks uses TSB43CB43(IceLynx-Micro) as its IEC 61883-1/6 interface.
This chip includes ARM7 core, and loads and runs program. The firmware
is stored in on-board memory and loaded every powering-on from it.

Echo Audio ships several versions of firmwares for each model. These
firmwares have each quirk and the quirk changes a sequence of packets.

As long as I investigated, AudioFire2/AudioFire4/AudioFirePre8 have a
quirk to transfer a first packet with 0x02 in its dbc field. This causes
ALSA Fireworks driver to detect discontinuity. In this case, firmware
version 5.7.0, 5.7.3 and 5.8.0 are used.

Payload  CIP      CIP
quadlets header1  header2
02       00050002 90ffffff &lt;-
42       0005000a 90013000
42       00050012 90014400
42       0005001a 90015800
02       0005001a 90ffffff
42       00050022 90019000
42       0005002a 9001a400
42       00050032 9001b800
02       00050032 90ffffff
42       0005003a 9001d000
42       00050042 9001e400
42       0005004a 9001f800
02       0005004a 90ffffff
(AudioFire2 with firmware version 5.7.)

$ dmesg
snd-fireworks fw1.0: Detect discontinuity of CIP: 00 02

These models, AudioFire8 (since Jul 2009 ) and Gibson Robot Interface
Pack series uses the same ARM binary as their firmware. Thus, this
quirk may be observed among them.

This commit adds a new member for AMDTP structure. This member represents
the value of dbc field in a first AMDTP packet. Drivers can set it with
a preferred value according to model's quirk.

Tested-by: Johannes Oertei &lt;johannes.oertel@uni-due.de&gt;
Signed-off-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;
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: firewire: Fix trivial typos in comments</title>
<updated>2015-03-10T11:40:30Z</updated>
<author>
<name>Yannick Guerrini</name>
</author>
<published>2015-03-09T21:13:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ce991981311e0ae258982b600564226ad6cb24ea'/>
<id>urn:sha1:ce991981311e0ae258982b600564226ad6cb24ea</id>
<content type='text'>
Change 'propper' to 'proper'
Change 'paramters' to 'parameters'
Change 'SYT_INTEVAL' to 'SYT_INTERVAL'
Change 'aligh'/'alighed' to 'align'/'aligned'

Signed-off-by: Yannick Guerrini &lt;yguerrini@tomshardware.fr&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: fireworks/bebob/dice/oxfw: make it possible to shutdown safely</title>
<updated>2015-02-23T08:11:24Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2015-02-21T14:55:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dec84316dd53c90e93b4ee849483bd4bd1e9a585'/>
<id>urn:sha1:dec84316dd53c90e93b4ee849483bd4bd1e9a585</id>
<content type='text'>
A part of these drivers, especially BeBoB driver, are programmed to wait
some events. Thus the drivers should not destroy any data in .remove()
context.

This commit moves some destructors from 'struct fw_driver.remove()' to
'struct snd_card.private_free()' to shutdown safely.

Signed-off-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;
Cc: &lt;stable@vger.kernel.org&gt; # 3.19+
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: fireworks/bebob/dice/oxfw: allow stream destructor after releasing runtime</title>
<updated>2015-02-23T08:11:16Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2015-02-21T14:54:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d23c2cc4485d10f0cedfef99dd2961d9652b1b3f'/>
<id>urn:sha1:d23c2cc4485d10f0cedfef99dd2961d9652b1b3f</id>
<content type='text'>
Currently stream destructor in each driver has a problem to be called in
a context in which sound card object is released, because the destructors
call amdtp_stream_pcm_abort() and touch PCM runtime data.

The PCM runtime data is destroyed in application's context with
snd_pcm_close(), on the other hand PCM substream data is destroyed after
sound card object is released, in most case after all of ALSA character
devices are released. When PCM runtime is destroyed and PCM substream is
remained, amdtp_stream_pcm_abort() touches PCM runtime data and causes
Null-pointer-dereference.

This commit changes stream destructors and allows each driver to call
it after releasing runtime.

Signed-off-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;
Cc: &lt;stable@vger.kernel.org&gt; # 3.19+
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: fireworks/bebob/dice/oxfw: add reference-counting for FireWire unit</title>
<updated>2015-02-23T08:10:38Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2015-02-21T14:54:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=12ed719291a953d443921f9cdb0ffee41066c340'/>
<id>urn:sha1:12ed719291a953d443921f9cdb0ffee41066c340</id>
<content type='text'>
Fireworks and Dice drivers try to touch instances of FireWire unit after
sound card object is released, while references to the unit is decremented
in .remove(). When unplugging during streaming, sound card object is
released after .remove(), thus Fireworks and Dice drivers causes GPF or
Null-pointer-dereferencing to application processes because an instance of
FireWire unit was already released.

This commit adds reference-counting for FireWire unit in drivers to allow
them to touch an instance of FireWire unit after .remove(). In most case,
any operations after .remove() may be failed safely.

Signed-off-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;
Cc: &lt;stable@vger.kernel.org&gt; # 3.19+
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: firewire-lib: remove rx_blocks_for_midi quirk</title>
<updated>2015-01-16T21:50:45Z</updated>
<author>
<name>Clemens Ladisch</name>
</author>
<published>2014-11-25T21:52:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5c697e5b46efea2c0a5da55208bc71db46698fd1'/>
<id>urn:sha1:5c697e5b46efea2c0a5da55208bc71db46698fd1</id>
<content type='text'>
There are several devices that expect to receive MIDI data only in the
first eight data blocks of a packet.  If the driver restricts the data
rate to the allowed rate (as mandated by the specification, but not yet
implemented by this driver), this happens naturally.  Therefore, there
is no reason to ever try to use more data packets with any device.

Signed-off-by: Clemens Ladisch &lt;clemens@ladisch.de&gt;
Reviewed-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;
Tested-by: Takashi Sakamoto &lt;o-takashi@sakamocchi.jp&gt;
Signed-off-by: Takashi Iwai &lt;tiwai@suse.de&gt;
</content>
</entry>
<entry>
<title>ALSA: fireworks: fix an endianness bug for transaction length</title>
<updated>2015-01-07T15:39:21Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2015-01-07T15:31:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=92cb46584e104e2f4b14a44959109ffe13524a26'/>
<id>urn:sha1:92cb46584e104e2f4b14a44959109ffe13524a26</id>
<content type='text'>
Although the 't-&gt;length' is a big-endian value, it's used without any
conversion. This means that the driver always uses 'length' parameter.

Fixes: 555e8a8f7f14("ALSA: fireworks: Add command/response functionality into hwdep interface")
Reported-by: Clemens Ladisch &lt;clemens@ladisch.de&gt;
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: fireworks: fix specifiers in format strings for propper output</title>
<updated>2014-08-05T07:15:20Z</updated>
<author>
<name>Takashi Sakamoto</name>
</author>
<published>2014-08-05T02:17:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=30225ed5ca9e8f713fe8e92859f698c5e82a429c'/>
<id>urn:sha1:30225ed5ca9e8f713fe8e92859f698c5e82a429c</id>
<content type='text'>
Use %d for loop counter and %X for device capabilities. This is a
supplemental patch for Hans Wennborg's patch.

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