]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ALSA: emu10k1: Use common error handling code in snd_emu10k1_playback_open()
authorMarkus Elfring <elfring@users.sourceforge.net>
Thu, 18 Jun 2026 10:24:36 +0000 (12:24 +0200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 18 Jun 2026 15:50:30 +0000 (17:50 +0200)
Use an additional label so that a bit of exception handling can be better
reused at the end of this function implementation.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Link: https://patch.msgid.link/d709474d-62b0-4f7e-9011-a0f716b35383@web.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/emu10k1/emupcm.c

index 9023f3444d20583413e9f7cd39ce11f37e18d89a..b8749e0131adc34c52a009cc9cd21d2bcc5ac5db 100644 (file)
@@ -1181,19 +1181,17 @@ static int snd_emu10k1_playback_open(struct snd_pcm_substream *substream)
        runtime->private_free = snd_emu10k1_pcm_free_substream;
        runtime->hw = snd_emu10k1_playback;
        err = snd_emu10k1_playback_set_constraints(runtime);
-       if (err < 0) {
-               kfree(epcm);
-               return err;
-       }
+       if (err < 0)
+               goto free_epcm;
+
        if (emu->card_capabilities->emu_model)
                sample_rate = emu->emu1010.word_clock;
        else
                sample_rate = 48000;
        err = snd_pcm_hw_rule_noresample(runtime, sample_rate);
-       if (err < 0) {
-               kfree(epcm);
-               return err;
-       }
+       if (err < 0)
+               goto free_epcm;
+
        mix = &emu->pcm_mixer[substream->number];
        for (i = 0; i < 8; i++)
                mix->send_routing[0][i] = mix->send_routing[1][i] = mix->send_routing[2][i] = i;
@@ -1204,6 +1202,10 @@ static int snd_emu10k1_playback_open(struct snd_pcm_substream *substream)
        mix->epcm = epcm;
        snd_emu10k1_pcm_mixer_notify(emu, substream->number, 1);
        return 0;
+
+free_epcm:
+       kfree(epcm);
+       return err;
 }
 
 static int snd_emu10k1_playback_close(struct snd_pcm_substream *substream)