From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753135AbdIFLgn (ORCPT ); Wed, 6 Sep 2017 07:36:43 -0400 Received: from mout.web.de ([212.227.15.3]:63878 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752409AbdIFLgl (ORCPT ); Wed, 6 Sep 2017 07:36:41 -0400 To: alsa-devel@alsa-project.org, Clemens Ladisch , Jaroslav Kysela , Takashi Iwai , Takashi Sakamoto Cc: LKML , kernel-janitors@vger.kernel.org From: SF Markus Elfring Subject: [PATCH] ALSA: FireWire-MOTU: Use common error handling code in snd_motu_stream_start_duplex() Message-ID: <9f50358a-0357-82ec-ee38-deae60eb53e9@users.sourceforge.net> Date: Wed, 6 Sep 2017 13:35:51 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:F3Audg2QMsFYnzpmWw3mnZuEaLuK+eGFhGcaZU4jy1MULRNLe/s 7IBCT8WdxGud3W+3GN7ZXRCAuFsj2houVVnJymkIyRSy04Y45IYePofqhG8cG5QnRjthWTP vhtZ2fFjBlqqcbKkvU69aXPWcGPzBh5J70rWaSZDmkvsNDmXnYOroyK2NbCQ6//WQ1R9gWn 2JrGxYMPN8Rccz1kEQTXw== X-UI-Out-Filterresults: notjunk:1;V01:K0:cndJtFypjuY=:df79zcLwYLZO5bdYigfj1Y 0ZV2WqMhf+uvP+/45AhvqfK9qY+BfJxF6UfyNaHA5kmbxXmJSAQxwWdfZ44n8CmeirZSJOtAK 5OsKBpcyMHwDrZJ7eNEpuDHCzgT1qfqXeKJDc18n5oXFLJ1IzDVu6fublsodJ3iObrGJ2TIr1 kf9LbrHO7MGRK3xRxLsapat8MCq3xP8tqdNDzoApCJeo2M4pSQ9PrVmTQU6oGEIrsWdqj/rGP hqzAAgzq/Cwj0OvxlqIhHsUq/wKJx48JtrI+R85kDJCzHzXhq8LsOE4ewLBWmrnmdswY8Hbex 0GJFvtRqX7iP2D9mtfEEFlPGgUr3Fu+5UZKpXDc0ueYHBj4GTG3OuMUHvsnBgZ6XzTRWZlCE3 j7KsSVhbp9Ic19fwfDrAcgTzQBKaZZfhkIpMs0qkvzxc0cwz2JXWdiT51/bWyn1P/qj9UrUmU 3O55+uvA36HVXSDQLzat3qYTcS3dVhxjaQuJ5bKyFVnlSOSnoX+0H591uBu9gi8i/RN+uViDf xsBwEH1J0ToiVReLG/l60yEFvFmRb8zN22YECJ4MqMFs+14YDOeGOHh2oEyiRCmw04tEhTntV TuHJ1warFGKjBpX5Z5XSPaFs2bXOnThEQJfjfbHm4A+HaGDhOsKDMl5Fu2pOs+iTCB0wO/cOs iJzp22mcZ528/2KJSaAY/YQbiqJa9mp0y+LTTyKCgXWee87d+yRcFMKErQGLSCg55rjpkoE+2 FY8qOYgeamljN/ARbFZ6D+VS2u9EYiQn9EH6EUri4wkMyyMe2eCkKvGznWbdLlBVKPEhTYz2+ Dy8+ALeNDTIE9O4tIwkViOPxmFsH2B8048myCQS3OspOR4QB5E= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Wed, 6 Sep 2017 13:30:14 +0200 Add a jump target so that a bit of exception handling can be better reused at the end of this function. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring --- sound/firewire/motu/motu-stream.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sound/firewire/motu/motu-stream.c b/sound/firewire/motu/motu-stream.c index dc5541c8b359..73e7a5e527fc 100644 --- a/sound/firewire/motu/motu-stream.c +++ b/sound/firewire/motu/motu-stream.c @@ -253,24 +253,21 @@ int snd_motu_stream_start_duplex(struct snd_motu *motu, unsigned int rate) if (err < 0) { dev_err(&motu->unit->device, "fail to start isochronous comm: %d\n", err); - stop_both_streams(motu); - return err; + goto stop_streams; } err = start_isoc_ctx(motu, &motu->rx_stream); if (err < 0) { dev_err(&motu->unit->device, "fail to start IT context: %d\n", err); - stop_both_streams(motu); - return err; + goto stop_streams; } err = protocol->switch_fetching_mode(motu, true); if (err < 0) { dev_err(&motu->unit->device, "fail to enable frame fetching: %d\n", err); - stop_both_streams(motu); - return err; + goto stop_streams; } } @@ -281,12 +278,15 @@ int snd_motu_stream_start_duplex(struct snd_motu *motu, unsigned int rate) dev_err(&motu->unit->device, "fail to start IR context: %d", err); amdtp_stream_stop(&motu->rx_stream); - stop_both_streams(motu); - return err; + goto stop_streams; } } return 0; + +stop_streams: + stop_both_streams(motu); + return err; } void snd_motu_stream_stop_duplex(struct snd_motu *motu) -- 2.14.1