From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932553AbdJXMvD (ORCPT ); Tue, 24 Oct 2017 08:51:03 -0400 Received: from mga03.intel.com ([134.134.136.65]:54843 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932533AbdJXMu7 (ORCPT ); Tue, 24 Oct 2017 08:50:59 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.43,427,1503385200"; d="scan'208";a="913162115" From: Jani Nikula To: SF Markus Elfring , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, David Airlie , Joonas Lahtinen , Rodrigo Vivi , Zhenyu Wang , Zhi Wang Cc: LKML , kernel-janitors@vger.kernel.org Subject: Re: [PATCH] drm/i915/gvt: Use common error handling code in shadow_workload_ring_buffer() In-Reply-To: Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: Date: Tue, 24 Oct 2017 15:52:24 +0300 Message-ID: <87efpsiu7r.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 24 Oct 2017, SF Markus Elfring wrote: > From: Markus Elfring > Date: Tue, 24 Oct 2017 14:20:06 +0200 > > Add a jump target so that a call of the function "gvt_vgpu_err" is stored > only once at the end of this function implementation. > Replace two calls by goto statements. > > This issue was detected by using the Coccinelle software. I don't think this is an issue or an improvement. BR, Jani. > > Signed-off-by: Markus Elfring > --- > drivers/gpu/drm/i915/gvt/cmd_parser.c | 18 ++++++++++-------- > 1 file changed, 10 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gvt/cmd_parser.c b/drivers/gpu/drm/i915/gvt/cmd_parser.c > index 2c0ccbb817dc..caa181380958 100644 > --- a/drivers/gpu/drm/i915/gvt/cmd_parser.c > +++ b/drivers/gpu/drm/i915/gvt/cmd_parser.c > @@ -2640,10 +2640,9 @@ static int shadow_workload_ring_buffer(struct intel_vgpu_workload *workload) > if (gma_head > gma_tail) { > ret = copy_gma_to_hva(vgpu, vgpu->gtt.ggtt_mm, > gma_head, gma_top, shadow_ring_buffer_va); > - if (ret < 0) { > - gvt_vgpu_err("fail to copy guest ring buffer\n"); > - return ret; > - } > + if (ret < 0) > + goto report_failure; > + > shadow_ring_buffer_va += ret; > gma_head = workload->rb_start; > } > @@ -2651,11 +2650,14 @@ static int shadow_workload_ring_buffer(struct intel_vgpu_workload *workload) > /* copy head or start <-> tail */ > ret = copy_gma_to_hva(vgpu, vgpu->gtt.ggtt_mm, gma_head, gma_tail, > shadow_ring_buffer_va); > - if (ret < 0) { > - gvt_vgpu_err("fail to copy guest ring buffer\n"); > - return ret; > - } > + if (ret < 0) > + goto report_failure; > + > return 0; > + > +report_failure: > + gvt_vgpu_err("fail to copy guest ring buffer\n"); > + return ret; > } > > int intel_gvt_scan_and_shadow_ringbuffer(struct intel_vgpu_workload *workload) -- Jani Nikula, Intel Open Source Technology Center