ALSA: firewire-digi00x: simplify error path to begin streaming session
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Tue, 11 Jun 2019 13:21:09 +0000 (22:21 +0900)
committerTakashi Iwai <tiwai@suse.de>
Tue, 11 Jun 2019 14:02:04 +0000 (16:02 +0200)
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>
sound/firewire/digi00x/digi00x-stream.c

index 90e31b63ac2f00f5b3e00232480a4a64a1f1ae11..8104af94aed5aacb9d44a92c0b964b8726c5b99f 100644 (file)
@@ -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;
 }