Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1717586

[PATCH] ALSA: ctxfi: Use common error handling code in two functions

Path csiph.com!eternal-september.org!feeder.eternal-september.org!aioe.org!bofh.it!news.nic.it!robomod
From SF Markus Elfring <elfring@users.sourceforge.net>
Newsgroups linux.kernel
Subject [PATCH] ALSA: ctxfi: Use common error handling code in two functions
Date Tue, 22 Aug 2017 19:00:02 +0200
Message-ID <uhkH0-53a-29@gated-at.bofh.it> (permalink)
X-Original-To alsa-devel@alsa-project.org, Jaroslav Kysela <perex@perex.cz>, Julia Lawall <Julia.Lawall@lip6.fr>, Takashi Iwai <tiwai@suse.com>
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1
MIME-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Language en-GB
Content-Transfer-Encoding 7bit
X-Provags-ID V03:K0:FvcUpDybNtRH5kdRhr9+qjhJKLOziKno/+TYoOeavQUKkx4UU4o hjj4BUWuhdAB9aYlX3rzeDJ46esbYkn/zNFNJlvnbafHZPfTXV948e2jEiTPlIqj4BkcaIQ gLadbPa+RVdYeS+VSZASzdUlncyYRgR3UpV+Ahg12ShhVK8CO6Y6kbZdh/mjsfPD21WRikL n8LQlo5e2LlhcFWWPlE3w==
X-Ui-Out-Filterresults notjunk:1;V01:K0://wvoniqB6M=:fJOK5TzSETuK9F7vkNBabc i6Wjvrr8rBQycatmJAZeBxDqWNKJgvdjTuSZqPYoNjFKWrH7M8w5LGP8rqsxcL8QB4JeYV6yk Cfr45/509RPX2sd645NGOm73c1sMGw9Zh31RPzHPeu+JPGMyVr9ophPvTPp4hq215ADMrxf4S v6kTULSk8gm1hbbOGoENsrv9S8bmQsfjCMMybbToFTgQNfcZf37oNob9ZiMX2GTqjxBbtumkj nuOzZuWLJgFT0KilDSFLyCwaiWM4vmKXiCn95RhQJzvfPzmoZufiL6Thc2m12DnY1u/Yc5MVO 2d7ky6nos7oiNLU2dRHA3hiV5UZ3IfwjL+xYjcmjSTQOe9fW0MSqWbtiP9u5LW3mor4U4scMb Dp6cfIQwnVNJ0Si8AdJrpaHeEkgbZnqdXpzhgi/xqmTqFHBA9T0CoHRHqlwwh73FjcmCMC0Gl N7OLAzB4LaIb7ZUWWS2vYmTl4RVwSORoN4xfEwJiD2jxe3GhCGb7UfL2yxft59ZjbNsmajgGj EcfaleY3chYRIfB8cpqHVgB0Qv46DD2iGXzQvkiI+Azt/J9JMQHMgV1FEwXJjnhygrQD0Y+g1 rpoQUdoyuePXmd+fPNnIQHsxxTAo+AxWVPI4mkEbjKPX9qu/0++t8Oosm1jHg3YibyFnf1Id8 u6sKPQ2INGXey282nJfpfVVFIpGaswIUkEzAtTtuDJzf5fUBpnz95Llk23eV7wKiu8kjYjlAW Lm831wSxG7C+qJjqakW/dGZzjVypICLqQjbcyI09iogSy82DIv8rZq6mgj768VZcZw8M7ZD9R FWjZ8oPnTHS6LZuaDHGKKWDXAJNnYzE4XTGkhXkCe//3f7vcAR7gUtgMc4vP/AZ+I3AeaxC
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 97
Organization linux.* mail to news gateway
X-Original-Cc LKML <linux-kernel@vger.kernel.org>, kernel-janitors@vger.kernel.org
X-Original-Date Tue, 22 Aug 2017 18:50:16 +0200
X-Original-Message-ID <6293f7ce-a3c7-ace8-cab4-26d09f4e0c91@users.sourceforge.net>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1717586

Show key headers only | View raw


From: Markus Elfring <elfring@users.sourceforge.net>
Date: Tue, 22 Aug 2017 18:43:42 +0200

Add jump targets so that a bit of exception handling can be better reused
at the end of these functions.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 sound/pci/ctxfi/ctpcm.c | 42 ++++++++++++++++++++++--------------------
 1 file changed, 22 insertions(+), 20 deletions(-)

diff --git a/sound/pci/ctxfi/ctpcm.c b/sound/pci/ctxfi/ctpcm.c
index 974978041558..dece6a81060d 100644
--- a/sound/pci/ctxfi/ctpcm.c
+++ b/sound/pci/ctxfi/ctpcm.c
@@ -140,27 +140,28 @@ static int ct_pcm_playback_open(struct snd_pcm_substream *substream)
 
 	err = snd_pcm_hw_constraint_integer(runtime,
 					    SNDRV_PCM_HW_PARAM_PERIODS);
-	if (err < 0) {
-		kfree(apcm);
-		return err;
-	}
+	if (err < 0)
+		goto free_pcm;
+
 	err = snd_pcm_hw_constraint_minmax(runtime,
 					   SNDRV_PCM_HW_PARAM_BUFFER_BYTES,
 					   1024, UINT_MAX);
-	if (err < 0) {
-		kfree(apcm);
-		return err;
-	}
+	if (err < 0)
+		goto free_pcm;
 
 	apcm->timer = ct_timer_instance_new(atc->timer, apcm);
 	if (!apcm->timer) {
-		kfree(apcm);
-		return -ENOMEM;
+		err = -ENOMEM;
+		goto free_pcm;
 	}
 	runtime->private_data = apcm;
 	runtime->private_free = ct_atc_pcm_free_substream;
 
 	return 0;
+
+free_pcm:
+	kfree(apcm);
+	return err;
 }
 
 static int ct_pcm_playback_close(struct snd_pcm_substream *substream)
@@ -286,27 +287,28 @@ static int ct_pcm_capture_open(struct snd_pcm_substream *substream)
 
 	err = snd_pcm_hw_constraint_integer(runtime,
 					    SNDRV_PCM_HW_PARAM_PERIODS);
-	if (err < 0) {
-		kfree(apcm);
-		return err;
-	}
+	if (err < 0)
+		goto free_pcm;
+
 	err = snd_pcm_hw_constraint_minmax(runtime,
 					   SNDRV_PCM_HW_PARAM_BUFFER_BYTES,
 					   1024, UINT_MAX);
-	if (err < 0) {
-		kfree(apcm);
-		return err;
-	}
+	if (err < 0)
+		goto free_pcm;
 
 	apcm->timer = ct_timer_instance_new(atc->timer, apcm);
 	if (!apcm->timer) {
-		kfree(apcm);
-		return -ENOMEM;
+		err = -ENOMEM;
+		goto free_pcm;
 	}
 	runtime->private_data = apcm;
 	runtime->private_free = ct_atc_pcm_free_substream;
 
 	return 0;
+
+free_pcm:
+	kfree(apcm);
+	return err;
 }
 
 static int ct_pcm_capture_close(struct snd_pcm_substream *substream)
-- 
2.14.0

Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread


Thread

[PATCH] ALSA: ctxfi: Use common error handling code in two functions SF Markus Elfring <elfring@users.sourceforge.net> - 2017-08-22 19:00 +0200
  Re: [PATCH] ALSA: ctxfi: Use common error handling code in two functions Takashi Iwai <tiwai@suse.de> - 2017-08-22 19:50 +0200

csiph-web