From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751581AbdIOHvL (ORCPT ); Fri, 15 Sep 2017 03:51:11 -0400 Received: from mout.web.de ([212.227.17.11]:63007 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751544AbdIOHvI (ORCPT ); Fri, 15 Sep 2017 03:51:08 -0400 Subject: [PATCH 3/9] [media] tm6000: Use common error handling code in tm6000_usb_probe() From: SF Markus Elfring To: linux-media@vger.kernel.org, Andi Shyti , Andrew Morton , Arvind Yadav , Bhumika Goyal , Christophe Jaillet , =?UTF-8?Q?David_H=c3=a4rdeman?= , Hans Verkuil , Laurent Pinchart , Masahiro Yamada , Mauro Carvalho Chehab , Sakari Ailus , Santosh Kumar Singh , Sean Young , Wei Yongjun Cc: LKML , kernel-janitors@vger.kernel.org References: <2aade468-5dfd-76ee-f59f-c25864930f61@users.sourceforge.net> Message-ID: <8d2722c0-98cf-4447-51ae-039d04dae185@users.sourceforge.net> Date: Fri, 15 Sep 2017 09:50:43 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <2aade468-5dfd-76ee-f59f-c25864930f61@users.sourceforge.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K0:tgDPEMqU7MiAR+xBNcmKHzfOTOh/7raqDzZge7iGHl8gIXVpbxy 9Xpv62o8YPkdQIQoOKgN8jT9S8qU2TawvawLAAUzlgaMsf3xBw2kj+YwwtP41Mg8y5e5d0X J9wLn6dxo5CgnN/0U98IFk6vwcTLgei+qzIHvsM+nPYvT56BY4zMeam4Tw+d5KrBK0V6DqL 7rFo0Iliwam648ks1fKwA== X-UI-Out-Filterresults: notjunk:1;V01:K0:tqJk5cUrYx8=:3gXdDO28jg68OhmXCINcZJ YdcMysOVH5RNs+KeudV3E8ohK1cDi7XDDfpADSEAZ6DD15PbWKwriTu6i85ph099P00Znbr8a lOD2SaNrf8502ucxkRu3UYopRpIbaW5RWXRICeOpae1FqKxBJwLZ9/ZQg8B4CP8dFQYxA6Ufd pDeBK1YLWU/5SDZCVxB768ecOSuI8mTyCH3y5Q5sdAEP0haJ0/+oasHKVLz8Ml6dTzk0vSFkO 0KsrOsKM3eNnOgDc77bz4wjGxGSNkqeUTF6j2mm7jFL8SKaUWgCv51svbFHq6VVfJv7ylZPyt jPie9m94pNtrYOtvEJIl5M3uO+4j6WBgBKsuhf18EkY0NCK/8CrNkzKaNYy6X9c/S3+un9atV yMGt//OYdaSoG5q2JFZMcgHZI7duPBzncpvryqEOgMwYPFeCS5i8uHp8nS2loy4+Rwkv+WMTz h/YOHKf3Po1ahyxKYabaAYeqI4O+Ch92tVeOOFlaRaYmfXyzjxs/iPVOgRfP3DUT9lSKjQKpm mr8N7ZcrJTRYnM3RQMo+gXtOuMX3V0CJOrQlvU00TLxh3zq7epfeopNGQycbvDmGaOv6WzNUO fIozRAEoVaEIuUv14SEk8DCeFin0ObzXjSU8A6y4MloGyjRXG1CUcXCQEsC8ZRnlGEn/2j8vR 7mE27qHdlPA5W7sBbrmxPQzj829mYt9NMEWmv1DsmcZaLkoxft1grUt0azqsF2akeQM/AqvwA acYI7BK6hHi/7qqwvJxYRQonmm/djD7QZ3AZmY+Zdbki8NBBNT0E8viqUhRwuXqqa+TzhgQyv eXlnvyoMNIveQ3Exc/sNP99tCmQnXsigPuUdToh7D8DzC+JV7o= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Thu, 14 Sep 2017 16:00:47 +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 --- drivers/media/usb/tm6000/tm6000-cards.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/media/usb/tm6000/tm6000-cards.c b/drivers/media/usb/tm6000/tm6000-cards.c index ef37fb1f05e4..e18632056976 100644 --- a/drivers/media/usb/tm6000/tm6000-cards.c +++ b/drivers/media/usb/tm6000/tm6000-cards.c @@ -1200,15 +1200,15 @@ static int tm6000_usb_probe(struct usb_interface *interface, nr = find_first_zero_bit(&tm6000_devused, TM6000_MAXBOARDS); if (nr >= TM6000_MAXBOARDS) { printk(KERN_ERR "tm6000: Supports only %i tm60xx boards.\n", TM6000_MAXBOARDS); - usb_put_dev(usbdev); - return -ENOMEM; + rc = -ENOMEM; + goto put_device; } /* Create and initialize dev struct */ dev = kzalloc(sizeof(*dev), GFP_KERNEL); if (!dev) { - usb_put_dev(usbdev); - return -ENOMEM; + rc = -ENOMEM; + goto put_device; } spin_lock_init(&dev->slock); mutex_init(&dev->usb_lock); @@ -1331,9 +1331,10 @@ static int tm6000_usb_probe(struct usb_interface *interface, printk(KERN_ERR "tm6000: Error %d while registering\n", rc); clear_bit(nr, &tm6000_devused); - usb_put_dev(usbdev); kfree(dev); +put_device: + usb_put_dev(usbdev); return rc; } -- 2.14.1