Received: by 10.223.185.116 with SMTP id b49csp361850wrg; Tue, 20 Feb 2018 00:09:01 -0800 (PST) X-Google-Smtp-Source: AH8x2269/1Y7tJUlJVfZG4t1ij/MUzQCGD7fAfs8YQSBxHlEdTCIRcn7Yo3c/L2yvNhlVpN94qjz X-Received: by 2002:a17:902:7d82:: with SMTP id a2-v6mr1307426plm.358.1519114141104; Tue, 20 Feb 2018 00:09:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519114141; cv=none; d=google.com; s=arc-20160816; b=R90q1QmqV7hR+FhuO5Rlo+6niNys9DHFl3CteL6jJIdwnHy75yCydeJYeg2+fc82za nmowkBuBngGd6bJWxPUWGV3DMYN9DETaLkdt+h7gpQK/wyhXVrwZrMLwYrKgeYyDvBga 1QrgA4TGis4EcFfEqBcuAUvczkaqdVUHyjYY6Vxtyttox9p0fdpViy4l6rChiH4Bm06G 29NzjP6U9C2TsYtLzP1ad7GACLZamKkGJt28b+aP7u/PnsGGUwZObF0BKCq/CUiwqS1D uC+SwwSwteVLeoMrQhBsrW6Wrt4A/3guGShpAIIAkcev3fJbRR2KJB38aPd4ktUQiUeb ez8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature :arc-authentication-results; bh=oK7F4uTzQri0BG6EcIqQNfnxIjWR1LIjRH9ILvewHm4=; b=NspgVl+f1FHhxTL4iGopX+Gq5CK05bVBrbE6QkLxyiqb2KI0uXhANlInhsVbwcfeYz JVPnBUDBz1JNl+Hqy2Pa2UImZf5eBVyPK7s6JWWRsVtAFRs+SXsbZ3K8tTwAaHFB/jot O7WOgdsgK9dGNzGgVUvzBeN77rCXZDJqCS7OBtTHkij/uTlZ9SkaValVw8OvnJ9H0tNP th2vsDmjzye2ApxtpPfNs29gS6pv/ieD1AvCIL1KTpQ4xJIrDH1ey1JaxN/H7ae8hjDO ufcWa0gbZCPUWOak7LQB3dUKLJCTMcc5gayHFL9+y4eNwbPCF4DmYiUvn9EqRQgBM324 06Zg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dK3W8ADR; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p26-v6si879166pli.350.2018.02.20.00.08.47; Tue, 20 Feb 2018 00:09:01 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dK3W8ADR; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751345AbeBTIIA (ORCPT + 99 others); Tue, 20 Feb 2018 03:08:00 -0500 Received: from mail-wm0-f68.google.com ([74.125.82.68]:55849 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751172AbeBTIH5 (ORCPT ); Tue, 20 Feb 2018 03:07:57 -0500 Received: by mail-wm0-f68.google.com with SMTP id q83so10247370wme.5 for ; Tue, 20 Feb 2018 00:07:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=oK7F4uTzQri0BG6EcIqQNfnxIjWR1LIjRH9ILvewHm4=; b=dK3W8ADRJYTYK0lWKyHkCvK6s4C48Yotmnu7PuYAFaCeL/+aLKwH2U3Vy8XjWTSpjY CtFpzz36atlMBPCWmldWWR32LYlUPO4DXhg1AEP1P+JIxPKhNjbxOVwxes2i+BF9nv5s JVYCwUZiRH+74ZzTXeZoa9u2mn3Sa8NfaMGHg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=oK7F4uTzQri0BG6EcIqQNfnxIjWR1LIjRH9ILvewHm4=; b=MmcSevkgpIynScvZdZekrhiCJ8Vx36rJy1GMXr1sCEHJHuBomt8lxQ3+gcIJiN2gM6 ixqxmFrdwAQqwrYLXyjClt0/iwwWPGa38UOiNgXswUdanGY6REflTCh2t27syu89u/Zq nnvava/llev/g6YnKenQWuwDB/cehnjEh7/TguTInvOh0PKNlUi+ReZzQfREVOnnrXpn ylBOkTGew0e7XOJMkmu4EC1Ef4QZhS90DiGr5W7IAk0HwPRom2ZfLnJCqTo0ywovpEKS NcJNLj68NJhIFp1QlfupzRL0bF153UU69U1hBM/kl0s4QbZD6ufnTBGUiLAjEEjNgHqO bqVw== X-Gm-Message-State: APf1xPCtgFoRChCtf8n9VvJjEyv544C3QQwU/HFP6y5WlLKsjkUf1L5p m+TUM9aZejeUp38pV6X9coSBiw== X-Received: by 10.80.135.229 with SMTP id 34mr10346414edz.227.1519114076032; Tue, 20 Feb 2018 00:07:56 -0800 (PST) Received: from [192.168.27.197] ([37.157.136.206]) by smtp.gmail.com with ESMTPSA id l5sm11780842eda.82.2018.02.20.00.07.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 20 Feb 2018 00:07:54 -0800 (PST) Subject: Re: [PATCH v2] [media] Use common error handling code in 20 functions To: SF Markus Elfring , Sean Young , Seung-Woo Kim , Shyam Saini , Thomas Gleixner , Wei Yongjun Cc: linux-media@vger.kernel.org, Al Viro , Andi Shyti , Andrew Morton , Andrey Utkin , Arvind Yadav , Bhumika Goyal , Bjorn Helgaas , Brian Johnson , =?UTF-8?Q?Christoph_B=c3=b6hmwalder?= , Christophe Jaillet , Colin Ian King , Daniele Nicolodi , =?UTF-8?Q?David_H=c3=a4rdeman?= , Devendra Sharma , "Gustavo A. R. Silva" , Hans Verkuil , Inki Dae , Joe Perches , Kees Cook , Laurent Pinchart , Masahiro Yamada , Mauro Carvalho Chehab , Max Kellermann , Mike Isely , Philippe Ombredanne , Sakari Ailus , Santosh Kumar Singh , Satendra Singh Thakur , LKML , kernel-janitors@vger.kernel.org References: <227d2d7c-5aee-1190-1624-26596a048d9c@users.sourceforge.net> From: Todor Tomov Message-ID: Date: Tue, 20 Feb 2018 10:07:52 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <227d2d7c-5aee-1190-1624-26596a048d9c@users.sourceforge.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Markus, Thank you for the patch. On 19.02.2018 20:11, SF Markus Elfring wrote: > From: Markus Elfring > Date: Mon, 19 Feb 2018 18:50:40 +0100 > > Adjust jump targets so that a bit of exception handling can be better > reused at the end of these functions. > > This issue was partly detected by using the Coccinelle software. > > Signed-off-by: Markus Elfring > --- > > v2: > Hans Verkuil insisted on patch squashing. Thus several changes > were recombined based on source files from Linux next-20180216. > > The implementation of the function "tda8261_set_params" was improved > after a notification by Christoph Böhmwalder on 2017-09-26. > > drivers/media/dvb-core/dmxdev.c | 16 ++++---- > drivers/media/dvb-frontends/tda1004x.c | 20 ++++++---- > drivers/media/dvb-frontends/tda8261.c | 19 ++++++---- > drivers/media/pci/bt8xx/dst.c | 19 ++++++---- > drivers/media/pci/bt8xx/dst_ca.c | 30 +++++++-------- > drivers/media/pci/cx88/cx88-input.c | 17 +++++---- > drivers/media/platform/omap3isp/ispvideo.c | 29 +++++++-------- > .../media/platform/qcom/camss-8x16/camss-csid.c | 20 +++++----- > drivers/media/tuners/tuner-xc2028.c | 30 +++++++-------- > drivers/media/usb/cpia2/cpia2_usb.c | 13 ++++--- > drivers/media/usb/gspca/gspca.c | 17 +++++---- > drivers/media/usb/gspca/sn9c20x.c | 17 +++++---- > drivers/media/usb/pvrusb2/pvrusb2-ioread.c | 10 +++-- > drivers/media/usb/tm6000/tm6000-cards.c | 7 ++-- > drivers/media/usb/tm6000/tm6000-dvb.c | 11 ++++-- > drivers/media/usb/tm6000/tm6000-video.c | 13 ++++--- > drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c | 13 +++---- > drivers/media/usb/ttusb-dec/ttusb_dec.c | 43 ++++++++-------------- > drivers/media/usb/uvc/uvc_v4l2.c | 13 ++++--- > 19 files changed, 180 insertions(+), 177 deletions(-) > > diff --git a/drivers/media/dvb-core/dmxdev.c b/drivers/media/dvb-core/dmxdev.c > index 6d53af00190e..6a0411c91195 100644 > diff --git a/drivers/media/platform/qcom/camss-8x16/camss-csid.c b/drivers/media/platform/qcom/camss-8x16/camss-csid.c > index 64df82817de3..92d4dc6b4a66 100644 > --- a/drivers/media/platform/qcom/camss-8x16/camss-csid.c > +++ b/drivers/media/platform/qcom/camss-8x16/camss-csid.c > @@ -328,16 +328,12 @@ static int csid_set_power(struct v4l2_subdev *sd, int on) > return ret; > > ret = csid_set_clock_rates(csid); > - if (ret < 0) { > - regulator_disable(csid->vdda); > - return ret; > - } > + if (ret < 0) > + goto disable_regulator; > > ret = camss_enable_clocks(csid->nclocks, csid->clock, dev); > - if (ret < 0) { > - regulator_disable(csid->vdda); > - return ret; > - } > + if (ret < 0) > + goto disable_regulator; > > enable_irq(csid->irq); > > @@ -345,8 +341,7 @@ static int csid_set_power(struct v4l2_subdev *sd, int on) > if (ret < 0) { > disable_irq(csid->irq); > camss_disable_clocks(csid->nclocks, csid->clock); > - regulator_disable(csid->vdda); > - return ret; > + goto disable_regulator; > } > > hw_version = readl_relaxed(csid->base + CAMSS_CSID_HW_VERSION); > @@ -357,6 +352,11 @@ static int csid_set_power(struct v4l2_subdev *sd, int on) > ret = regulator_disable(csid->vdda); > } > > + goto exit; I think it will be cleaner if you remove the exit label and return here instead. > + > +disable_regulator: > + regulator_disable(csid->vdda); > +exit: > return ret; > } -- Best regards, Todor Tomov