From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751191AbdKSUVl (ORCPT ); Sun, 19 Nov 2017 15:21:41 -0500 Received: from mout.web.de ([212.227.15.14]:51686 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751055AbdKSUVk (ORCPT ); Sun, 19 Nov 2017 15:21:40 -0500 Subject: [PATCH 1/4] ASoC: soc-pcm: Improve unlocking of a mutex in soc_dpcm_runtime_update() From: SF Markus Elfring To: alsa-devel@alsa-project.org, Jaroslav Kysela , Liam Girdwood , Mark Brown , Takashi Iwai Cc: LKML , kernel-janitors@vger.kernel.org References: <54203404-1e40-3c97-a6e5-75a41ec3e742@users.sourceforge.net> Message-ID: <84ae04be-480e-6eba-0efc-52e7592b6e02@users.sourceforge.net> Date: Sun, 19 Nov 2017 21:20:19 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <54203404-1e40-3c97-a6e5-75a41ec3e742@users.sourceforge.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:+84e/iQKSu/b0k/Isihqr3wm8W39X/BBI9/E7/r+xkemn8nGUP1 mpkcVCmxu3dQOWy2ZGZRQZuIWN5v/huuOP+dTJ3jjWJr93vmyb4ZHREmITvV4qrvi2iGPos KvCjMU7ri1KE/mg92JPI8D/zkI6Aw2Wq1BQW8VSe/wakJ7qMAv5Ri+PfHxw6kEUvM58036A lHqM/44ZQH90L3ypCguGQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:UM5RZ+AMIys=:Cq3ZgnFGly2TqTkP2HLK0b Y6JYSul1QSyJKBfgbDOwa8TN+15J6qRCdDKW/ECfBY2gEJ+/kNvEG5YHRJPqQJ7zeD3TvirmK xxCwr7C3eNjlD/qWGGMhtoMw5daegJQsB83AAAQugFBXY/YjD9mvsTIvbjvHSUWW3PS//1vlb s2Nht6km5aMEtATAJa0l37/NfwRWSkEPmzQHHIvsVU5wBGTyggNfUAbN9L/le73RQOIFJq64O +YM9j8I8Eot37ylhuVV7cMmjv4QTMd4b1P7lWs1wFqkXwUYN6vWH40ki3Gh93aJsG69JDHgWe eDcef2LmqAOwrXP2NTMPysoIpySgbV42rMrvt6pLpQLHiEEPAIDd4zTxOk6YxYEnaNYJNrgbb LKCz2bRLGwCCWvOUmZAiZFjl5Fm+sx+1+Tkn4Ume6DmyZB+nBAwE75ySe7KhpHXByHXV3qIy+ w87PPZHtYhsADAgV0kdrAf4NDKMOvrvQGVlzqxGkcdXKCScOapxl8hrH7vuGDC2tjJchcFusv E8Yx+w2nslmy8RYwvXAX4rgT8/EUhJ8ESPkq7rUDUuIatS3welw79tGb1yCScJBgYY4tRGPUZ eEvOLxwcMYmNmytyzT9+KY60LW3It3XIeA3IO422DTPL6sHR1ARs6VNvu4fqNhy+5/3GyZuSw bIjbHls9Dh72gv0x/LxD7MB+Dc9kUnU1Roh04jZzSzuuhqkHDjRis4ilmUaaKVRAy93DEmdWt btc/298HEFbDo/8ln++o61dQCNxuUeFnZGRVf3Ds6D9N441ZfmiARi/HjwP2BVm4JOgu0+oEP ZWQh2JiclbEdI8NbMC9C5mJWdRh2GrjE5ncAG43JOsMyQU1zOE= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Sun, 19 Nov 2017 19:43:07 +0100 * Add a jump target so that a call of the function "mutex_unlock" is stored only once in this function implementation. * Replace two calls by goto statements. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring --- sound/soc/soc-pcm.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c index 8075856668c2..ea771316afa9 100644 --- a/sound/soc/soc-pcm.c +++ b/sound/soc/soc-pcm.c @@ -2674,8 +2674,7 @@ int soc_dpcm_runtime_update(struct snd_soc_card *card) if (paths < 0) { dev_warn(fe->dev, "ASoC: %s no valid %s path\n", fe->dai_link->name, "playback"); - mutex_unlock(&card->mutex); - return paths; + goto unlock; } /* update any new playback paths */ @@ -2710,8 +2709,7 @@ int soc_dpcm_runtime_update(struct snd_soc_card *card) if (paths < 0) { dev_warn(fe->dev, "ASoC: %s no valid %s path\n", fe->dai_link->name, "capture"); - mutex_unlock(&card->mutex); - return paths; + goto unlock; } /* update any new capture paths */ @@ -2733,8 +2731,10 @@ int soc_dpcm_runtime_update(struct snd_soc_card *card) dpcm_path_put(&list); } + paths = 0; +unlock: mutex_unlock(&card->mutex); - return 0; + return paths; } int soc_dpcm_be_digital_mute(struct snd_soc_pcm_runtime *fe, int mute) { -- 2.15.0