From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752174AbdHLTNT (ORCPT ); Sat, 12 Aug 2017 15:13:19 -0400 Received: from mout.web.de ([212.227.17.11]:59310 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750983AbdHLTNF (ORCPT ); Sat, 12 Aug 2017 15:13:05 -0400 Subject: [PATCH 2/3] ALSA: mpu401: Use common error handling code in snd_mpu401_uart_new() From: SF Markus Elfring To: alsa-devel@alsa-project.org, Jaroslav Kysela , Takashi Iwai , Takashi Sakamoto Cc: LKML , kernel-janitors@vger.kernel.org References: <47947226-bd09-5d15-c0d2-a9f4a659e1b4@users.sourceforge.net> Message-ID: <06592078-5382-5f6a-f9aa-c85f293e1734@users.sourceforge.net> Date: Sat, 12 Aug 2017 21:12:39 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <47947226-bd09-5d15-c0d2-a9f4a659e1b4@users.sourceforge.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:Dvv4FhvBBcjg4KM41u+hzpnXHMHaCjzg6QnR1yDwvig9jZFW/F5 drFyE/4b6uv5SO9MJa5KZsxmzPnHY5xbMq4PUmpmf++cJ8nCOM8qKjtESZRIJ0IMgn3V78j RIQcpd9qQz1Z59FWz3q1iTpGFbFcTZemO8uxVu7pkFj8TLy5l3zNmOY841Y4zujBJb0Hv2n 3wxdjNwUs4UfUxAntJ8rw== X-UI-Out-Filterresults: notjunk:1;V01:K0:mpdjsWOtWSg=:xNL17aHM4aRq/9ufhm0G1U h2DMupwPT0a6mOKch/sCrgEyH1QaZXLYmYrvjkNtXij8Soq1LMlEEvi3zxniP8XjF15n3Dw7i iWGdh5X5oUIeXabWTSGgAU67ThKOIfsYrOQ83iGQN4zHmZLNboh0ufnkfrNi+Z8EO15w1hEwC EGKSvPJnggAnl1SVrAsgVFYH1hpBNgWRJsuYzCh7KfGesKV9dXkIZSy/CHjtpbZGAFvqfm1rC t7TDNaqcXEZmwJPcSRcKUeYqSIKIn5QH4VGCZVjjcoAaay7fZ4KzWPR0VFpydn+s98Bjblx/d G6XvvBcnKn+Uvef9NNN9t+elEwVIc3gI3tTFyvZdxL14zDhgyQWjX1kchqxJMb1HjNDL1JTbi NXEmDc7A+HigO8vjFMkqo82Adpa1Nwgr/TusE9zw5gwVCreZzudnAPk/4k3oU9CbN8s1cRNqS vVS+FK2+Via3n/wNUC/2yjsh1on2RaXY8h82xgFqztLuNWQ81RMQhQWnzonf1Bz5aBqPOkskG Zsv0qDIhCxt0vyaYxxeYpyJRi+JOVs6RCw2a+8l1rtjS+tmWLwZv3YsMq7pqCkv1pjfHx+52B 7cK1Af32kA5g9ZtSFpBkoxm/eHbE8B8QuDs33UnnXaurVzU5eLpx0L/OFNxDwQ7AIhxPed4AT iSb3GfGYHKdOH0CkERrlybdiNeuW8q32lql5RCt3ootSmmR6HIzKa1cqQfM4oJdW6Fj8hW2DX dLy5yc10/xo2ilta4bFZ7zTbocropibBMfWW3vHNK1DLxR4aPP2JY98KNOJbU/yLBzcR2mdvQ MOc2xZVTh32Ub2PaLNfPY0w2cC4yT9g2crsyzjGn7Vtf/sgGiw= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Sat, 12 Aug 2017 20:40:17 +0200 Add a jump target so that a bit of exception handling can be better reused at the end of this function. Signed-off-by: Markus Elfring --- sound/drivers/mpu401/mpu401_uart.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/sound/drivers/mpu401/mpu401_uart.c b/sound/drivers/mpu401/mpu401_uart.c index cc347386fc2b..e8bdea193eab 100644 --- a/sound/drivers/mpu401/mpu401_uart.c +++ b/sound/drivers/mpu401/mpu401_uart.c @@ -545,8 +545,8 @@ int snd_mpu401_uart_new(struct snd_card *card, int device, return err; mpu = kzalloc(sizeof(*mpu), GFP_KERNEL); if (mpu == NULL) { - snd_device_free(card, rmidi); - return -ENOMEM; + err = -ENOMEM; + goto free_device; } rmidi->private_data = mpu; rmidi->private_free = snd_mpu401_uart_free; @@ -562,8 +562,8 @@ int snd_mpu401_uart_new(struct snd_card *card, int device, snd_printk(KERN_ERR "mpu401_uart: " "unable to grab port 0x%lx size %d\n", port, res_size); - snd_device_free(card, rmidi); - return -EBUSY; + err = -EBUSY; + goto free_device; } } if (info_flags & MPU401_INFO_MMIO) { @@ -583,8 +583,8 @@ int snd_mpu401_uart_new(struct snd_card *card, int device, "MPU401 UART", (void *) mpu)) { snd_printk(KERN_ERR "mpu401_uart: " "unable to grab IRQ %d\n", irq); - snd_device_free(card, rmidi); - return -EBUSY; + err = -EBUSY; + goto free_device; } } if (irq < 0 && !(info_flags & MPU401_INFO_IRQ_HOOK)) @@ -612,6 +612,9 @@ int snd_mpu401_uart_new(struct snd_card *card, int device, if (rrawmidi) *rrawmidi = rmidi; return 0; +free_device: + snd_device_free(card, rmidi); + return err; } EXPORT_SYMBOL(snd_mpu401_uart_new); -- 2.14.0