From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751445AbdIOIBB (ORCPT ); Fri, 15 Sep 2017 04:01:01 -0400 Received: from mout.web.de ([212.227.17.12]:51736 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750838AbdIOIA6 (ORCPT ); Fri, 15 Sep 2017 04:00:58 -0400 Subject: [PATCH 9/9] [media] tm6000: Use common error handling code in tm6000_prepare_isoc() 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: <9ef1871e-1590-a031-84a9-31bd342b301e@users.sourceforge.net> Date: Fri, 15 Sep 2017 10:00:28 +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:po6PGCf5Ifezc3T84b5ZR1CA8/F6Vs3Vo6csUu0uOTY/02UpZX5 tIu5iEBSfwZx7XvQMeF041k1fb9NCNMRWXR4e4/S3i9x+elfAIm7g/CPkjUyCFbN+u5UqDB 8DNMCtko0eepRFYUl5Xtk+hJzYcHDV2ASTZfMR825AJKRRBm1ZvYzUavV1xrf0GxncS6bhN kGtvj5KnJ3uHY842BBX1w== X-UI-Out-Filterresults: notjunk:1;V01:K0:esEXgGJ58aU=:pm507BJKN6qCNaS9z63M0l 54HdQIUCtZCkHa2+zxmiKoUK7Ft9NfnYGuuQosZHGFFsGvuicK54MynMoLTxfUA51lBrHsejy CibdCl9orlrV6oAH1HjTsC/IbXbCIy66lvcz+s1TkoOUiNEHLikNsYaMf2CAswj4EvO3dKjSV BCY39Mgn2dAHwrCvRvd131sK5NbGn+OY0KjC8KzSVWUV+VtqA0JDF25ni2Se3AUVAYWIwE1hp ILNqSKJ5bCDrHNBfut0zSCFLqGaSJE2H2hwk32c8h/zST4CcqCvjGXwV4omdgQOA33VmNaiKJ 47qWHpHfzjFICEQxaA5qrM2CX6NmaI40Au07cbFfE1RQyD5vuKIj0nMWe9C4Kg9JXp0W9dtJi DAdDriMGytirO+W3k/s/s9GJVv9c4ukmitBxuO3jImQDAy5pQMkmOLaQ/Hrf4lWC1vkGx0IO1 uzTOWoVFzT7PKP4JY2SqeHfkUaLiWLRlNCdlpsZak+XrYSHO2XmpeNqCF639PgR3Zfsna6+D6 e9MZpiq+ennx4LA2Xm3dT++Iu6tTl7c97ABgMqeQl2uIpi+Mh/cl8UDhcOnftnAqpjhKKQh7t FB/ttqB922/7Nn5ET8i1IJ27q/Y6xedLbtTnNNj1JBUGvlbp0uU/51l7caUYb6jCiipHclC5B Y8Dr74wtF+hDD42R3MHewvbgcJznlH80tNHJkmT8+L8Mylbbm4twzqzFPF7wy/7obPMdEAxjs JECwWWrBHTEPeN9LlMcxtbnf1ZXLQdyJjkvwHBJ5ILbgkxT7iYmcXF9A/5qrbheKYZx8GUr7j jYOCSTe6WTSO0G6qXJJMltwYvZzgA65tnjOZdUCaNLUV6rGloM= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Fri, 15 Sep 2017 08:02:33 +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-video.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/media/usb/tm6000/tm6000-video.c b/drivers/media/usb/tm6000/tm6000-video.c index 0d45f35e1697..bfdeb41ed3a1 100644 --- a/drivers/media/usb/tm6000/tm6000-video.c +++ b/drivers/media/usb/tm6000/tm6000-video.c @@ -602,7 +602,5 @@ static int tm6000_prepare_isoc(struct tm6000_core *dev) - if (!dev->isoc_ctl.transfer_buffer) { - kfree(dev->isoc_ctl.urb); - return -ENOMEM; - } + if (!dev->isoc_ctl.transfer_buffer) + goto free_urb; dprintk(dev, V4L2_DEBUG_QUEUE, "Allocating %d x %d packets (%d bytes) of %d bytes each to handle %u size\n", max_packets, num_bufs, sb_size, @@ -616,7 +614,6 @@ static int tm6000_prepare_isoc(struct tm6000_core *dev) tm6000_free_urb_buffers(dev); - kfree(dev->isoc_ctl.urb); kfree(dev->isoc_ctl.transfer_buffer); - return -ENOMEM; + goto free_urb; } /* allocate urbs and transfer buffers */ @@ -646,6 +643,10 @@ static int tm6000_prepare_isoc(struct tm6000_core *dev) } return 0; + +free_urb: + kfree(dev->isoc_ctl.urb); + return -ENOMEM; } static int tm6000_start_thread(struct tm6000_core *dev) -- 2.14.1