diff options
author | Takashi Sakamoto <o-takashi@sakamocchi.jp> | 2019-06-11 16:21:09 +0300 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2019-06-11 17:02:04 +0300 |
commit | 638e19fc46afceb65f6bfff65b2164fbb3324cb3 (patch) | |
tree | dec31cd72227021abc33e4032642e1c6a366fca7 /sound/firewire/digi00x | |
parent | d18b0a6e42f7d4fca64f34ea0b76a312be632d7a (diff) | |
download | linux-638e19fc46afceb65f6bfff65b2164fbb3324cb3.tar.xz |
ALSA: firewire-digi00x: simplify error path to begin streaming session
This commit is a part of preparation to perform allocation/release
of isochronous resources in pcm.hw_params/hw_free callbacks.
The caller of begin_session() calls finish_session() in its error path,
thus no need to call finish_session() in error path of begin_session().
This commit simplifies error path of begin_session().
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/firewire/digi00x')
-rw-r--r-- | sound/firewire/digi00x/digi00x-stream.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/sound/firewire/digi00x/digi00x-stream.c b/sound/firewire/digi00x/digi00x-stream.c index 90e31b63ac2f..8104af94aed5 100644 --- a/sound/firewire/digi00x/digi00x-stream.c +++ b/sound/firewire/digi00x/digi00x-stream.c @@ -159,13 +159,13 @@ static int begin_session(struct snd_dg00x *dg00x) DG00X_ADDR_BASE + DG00X_OFFSET_ISOC_CHANNELS, &data, sizeof(data), 0); if (err < 0) - goto error; + return err; err = snd_fw_transaction(dg00x->unit, TCODE_READ_QUADLET_REQUEST, DG00X_ADDR_BASE + DG00X_OFFSET_STREAMING_STATE, &data, sizeof(data), 0); if (err < 0) - goto error; + return err; curr = be32_to_cpu(data); if (curr == 0) @@ -180,15 +180,12 @@ static int begin_session(struct snd_dg00x *dg00x) DG00X_OFFSET_STREAMING_SET, &data, sizeof(data), 0); if (err < 0) - goto error; + break; msleep(20); curr--; } - return 0; -error: - finish_session(dg00x); return err; } |