lp://qastaging/~diwic/alsa-driver/snd-firewire-improve

Created by David Henningsson and last modified

Takashi Sakamoto's firewire drivers

Get this branch:
bzr branch lp://qastaging/~diwic/alsa-driver/snd-firewire-improve

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
David Henningsson
Project:
ALSA driver
Status:
Development

Import details

Import Status: Suspended

This branch is an import of the HEAD branch of the Git repository at https://github.com/takaswie/snd-firewire-improve.git.

Last successful import was .

Import started on juju-eb11dc-stg-qa-launchpad-codeimport-0 and finished taking 20 seconds — see the log
Import started on juju-eb11dc-stg-qa-launchpad-codeimport-0 and finished taking 25 seconds — see the log
Import started on juju-eb11dc-stg-qa-launchpad-codeimport-0 and finished taking 15 seconds — see the log
Import started on juju-eb11dc-stg-qa-launchpad-codeimport-0 and finished taking 2 minutes — see the log

Updating branch...

Launchpad is processing new changes to this branch which will be available in a few minutes. Reload to see the changes.

Recent revisions

1611. By Takashi Sakamoto

ALSA: firewire: use 'GPL' string for module license contributed by Clemens Ladisch

In MODULE_LICENSE macro, "GPL" string obsoletes "GPL v2" string by a
commit bf7fbeeae6db ("module: Cure the MODULE_LICENSE "GPL" vs. "GPL v2"
bogosity").

This commit uses the preferable expression.

Signed-off-by: Takashi Sakamoto <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1610. By Takashi Sakamoto

ALSA: firewire: use 'GPL' string for module license contributed by Takashi Sakamoto

In MODULE_LICENSE macro, "GPL" string obsoletes "GPL v2" string by a
commit bf7fbeeae6db ("module: Cure the MODULE_LICENSE "GPL" vs. "GPL v2"
bogosity").

This commit uses the preferable expression.

Signed-off-by: Takashi Sakamoto <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1609. By Xu Biang <email address hidden>

ALSA: firewire-tascam: add missing unwind goto in snd_tscm_stream_start_duplex()

Smatch Warns:
sound/firewire/tascam/tascam-stream.c:493 snd_tscm_stream_start_duplex()
warn: missing unwind goto?

The direct return will cause the stream list of "&tscm->domain" unemptied
and the session in "tscm" unfinished if amdtp_domain_start() returns with
an error.

Fix this by changing the direct return to a goto which will empty the
stream list of "&tscm->domain" and finish the session in "tscm".

The snd_tscm_stream_start_duplex() function is called in the prepare
callback of PCM. According to "ALSA Kernel API Documentation", the prepare
callback of PCM will be called many times at each setup. So, if the
"&d->streams" list is not emptied, when the prepare callback is called
next time, snd_tscm_stream_start_duplex() will receive -EBUSY from
amdtp_domain_add_stream() that tries to add an existing stream to the
domain. The error handling code after the "error" label will be executed
in this case, and the "&d->streams" list will be emptied. So not emptying
the "&d->streams" list will not cause an issue. But it is more efficient
and readable to empty it on the first error by changing the direct return
to a goto statement.

The session in "tscm" has been begun before amdtp_domain_start(), so it
needs to be finished when amdtp_domain_start() fails.

Fixes: c281d46a51e3 ("ALSA: firewire-tascam: support AMDTP domain")
Signed-off-by: Xu Biang <email address hidden>
Reviewed-by: Dan Carpenter <email address hidden>
Acked-by: Takashi Sakamoto <email address hidden>
Cc: <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1608. By Takashi Sakamoto

ALSA: fireface: add field for the number of messages copied to user space

Current structure includes no field to express the number of messages
copied to user space, thus user space application needs to information
out of the structure to parse the content of structure.

This commit adds a field to express the number of messages copied to user
space since It is more preferable to use self-contained structure.

Kees Cook proposed an idea of annotation for bound of flexible arrays
in his future improvement for flexible-length array in kernel. The
additional field for message count is suitable to the idea as well.

Reference: https://people.kernel.org/kees/bounded-flexible-arrays-in-c
Signed-off-by: Takashi Sakamoto <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1607. By Takashi Sakamoto

ALSA: firewire-motu: fix unreleased lock warning in hwdep device

Smatch static analysis tool detects that acquired lock is not released
in hwdep device when condition branch is passed due to no event. It is
unlikely to occur, while fulfilling is preferable for better coding.

Reported-by: Dan Carpenter <email address hidden>
Fixes: 634ec0b2906e ("ALSA: firewire-motu: notify event for parameter change in register DSP model")
Signed-off-by: Takashi Sakamoto <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1606. By Takashi Sakamoto

ALSA: firewire-lib: fix uninitialized local variable

The function local variable, curr_cycle_time is declared without
initialization. When tracepoints event is not probed, it looks to be
used as is. This commit fixes it. Fortunately, the value of local variable
is not used unless the event is probed, thus this commit is for better
coding.

Reported-by: Dan Carpenter <email address hidden>
Fixes: fef4e61b0b76 ("ALSA: firewire-lib: extend tracepoints event including CYCLE_TIME of 1394 OHCI")
Signed-off-by: Takashi Sakamoto <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1605. By error27

ALSA: fireface: fix locking bug in ff400_copy_msg_to_user()

The ff400_copy_msg_to_user() function drops the spin lock to call
copy_to_user(). However, if the copy_to_user() fails, then it must
take the lock again before returning. Failure to take the lock leads
to a double unlock in the caller, hwdep_read().

Fixes: acdebd8b4c0c ("ALSA: fireface: implement message parser for Fireface 400")
Signed-off-by: Dan Carpenter <email address hidden>
Acked-by: Takashi Sakamoto <email address hidden>
Link: https://lore.kernel.org/r/Y8at+W/7OGvEBY8O@kili
Signed-off-by: Takashi Iwai <email address hidden>

1604. By Takashi Sakamoto

ALSA: fireface: implement message parser for Fireface 400

This commit implements message parser for Fireface 400 to pass data of
knob control to user space. The parser has FIFO which can store maximum
32 events without no overrun detection since it doesn't matter to lose
the event.

Signed-off-by: Takashi Sakamoto <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1603. By Takashi Sakamoto

ALSA: fireface: add local framework to message parser

This commit adds local framework to message parser. This is preparation
for future work to pass event of knob control for Fireface 400 to user
space.

Signed-off-by: Takashi Sakamoto <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

1602. By Takashi Sakamoto

ALSA: fireface: update UAPI for data of knob control

This commit adds a new event of knob control specific to RME Fireface 400.

Signed-off-by: Takashi Sakamoto <email address hidden>
Link: https://<email address hidden>
Signed-off-by: Takashi Iwai <email address hidden>

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.