ALSA: firewire-lib: add a restriction for a transaction at once

Currently, when waiting for a response, callers can start another
transaction by scheduling another work. This is not good for error
processing of transaction, especially the first response is too late.

This commit serialize request/response transactions, by adding one
boolean member to represent idling state.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Sakamoto
2015-10-09 08:10:26 +09:00
committed by Takashi Iwai
parent 585d7cba5e
commit d3ef9cb93a
2 changed files with 10 additions and 0 deletions

View File

@@ -30,6 +30,7 @@ typedef int (*snd_fw_async_midi_port_fill)(
struct snd_fw_async_midi_port {
struct fw_device *parent;
struct work_struct work;
bool idling;
u64 addr;
struct fw_transaction transaction;