From patchwork Fri Jan 20 18:22:50 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: SF Markus Elfring X-Patchwork-Id: 717870 X-Patchwork-Delegate: paulus@samba.org Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3v4pzb1p2lz9s2G for ; Sat, 21 Jan 2017 05:25:31 +1100 (AEDT) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 3v4pzb0Cr5zDqq5 for ; Sat, 21 Jan 2017 05:25:31 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Received: from mout.web.de (mout.web.de [217.72.192.78]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3v4px624XVzDqGL for ; Sat, 21 Jan 2017 05:23:21 +1100 (AEDT) Received: from [192.168.1.2] ([77.182.231.71]) by smtp.web.de (mrweb101 [213.165.67.124]) with ESMTPSA (Nemesis) id 0MN4Gi-1cbEU43sYS-006iL2; Fri, 20 Jan 2017 19:22:57 +0100 Subject: [PATCH 04/11] KVM: PPC: Book3S HV: Use common error handling code in kvmppc_clr_passthru_irq() To: kvm@vger.kernel.org, kvm-ppc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, Alexander Graf , Benjamin Herrenschmidt , Michael Ellerman , Paolo Bonzini , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= References: From: SF Markus Elfring Message-ID: <68158b48-c85b-4da8-1ef7-c996de1db5da@users.sourceforge.net> Date: Fri, 20 Jan 2017 19:22:50 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 MIME-Version: 1.0 In-Reply-To: X-Provags-ID: V03:K0:wn9GmJDr6kXYyCaQlWX3RI6ztyyoAVTO11bmMhJSAFv221uiGsv SEE7mcrbnXlJ57dpIrwONzsnMph9iEtibGjBuoZidkJjvglfeV2l45BSumRG5ZR8vONJxlD 7+9WbPvi7FU0MmwduBwZrnJI4rID+y4vikN5LgMTSGJCSdhfGD5xEjCUP9z2Z+AgsjzfRbW Uk29LtcpeBMWxFoj1Z1jg== X-UI-Out-Filterresults: notjunk:1; V01:K0:wbJ0zJYbxcc=:+ZwDuNwuhQrq8tfh2YWNng FNv4IylGdZkQw0Oy6t+cisCGgLRq12vVCuUK9o/db6cSV+wuUEUirJyCsaTgsbzkslZn7RUeJ HtSOAOo+TGnf1GGrZMMUWJY4HBPVpyLi22Er2D6gCWpUQx+fIKu0GN9KwGa4NjI6naiPlSxn2 9FkSZ+OELgGS0GgZBCTqcMtixE35JhOIijO25onmjeGF4PcZu+KfZCjKpidrIpT6OlbEOcjXJ f8NNNmJAzr3ejnB5HyrjyxzM/rA7ZRgjR5SXeUOGAs3S2Wr7eINDGU+TTUZ7A5BuYB4LlQNrp x1cLwUan6ZnC9g+262ngxAjGJ0hFEf6ITpRNmHGmRk98nMYuVAadInmuUwuFpb7Ui3zXJo9CY j196XS0Ngl26u8LykWTiH00vfJigA9ZAOXU+oLty7fe5WpZZ15RVWMO7itfKLPkYJdCXOHY1D 0DuSeqM8BK3Dxz/HLJlmCXj/z6jCzKFupBvNh4Q96XhHh09Rz4Q2By5sakZN1dYBRibyzdcnn XTqDX7CmckJuM6wUjIMD/Eqcg1rAlYCg2SaLE5KGF/vi31Hvj6+/KY7ARDlRRqTMTKleaBZuc EeKlBm8hDOcfnxkcLaVB6oA0tnrJwRqLR7ZOzkISvc1bbJEOzHeBEjU4XWg/xCSFCemJUOuWX d8YhOPKdJ3fqxSHUiYhzvLy5soMrAjLRSySwZJtlRouulNgkeFcCJb6WUU+wKDyW/RJnpmtuh G1nTtgZHFSoZrylY9sjwRMnzWrHRocnktfKY+yQ6Kq146FjlNyvwUmyP55kQQT9+j/sqsIC6h kdNTkwW X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kernel-janitors@vger.kernel.org, LKML Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" From: Markus Elfring Date: Fri, 20 Jan 2017 11:00:08 +0100 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 --- arch/powerpc/kvm/book3s_hv.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c index a93e1c4445da..cfc7699d05df 100644 --- a/arch/powerpc/kvm/book3s_hv.c +++ b/arch/powerpc/kvm/book3s_hv.c @@ -3509,11 +3509,9 @@ static int kvmppc_clr_passthru_irq(struct kvm *kvm, int host_irq, int guest_gsi) return -EIO; mutex_lock(&kvm->lock); + if (!kvm->arch.pimap) + goto unlock; - if (kvm->arch.pimap == NULL) { - mutex_unlock(&kvm->lock); - return 0; - } pimap = kvm->arch.pimap; for (i = 0; i < pimap->n_mapped; i++) { @@ -3535,7 +3533,7 @@ static int kvmppc_clr_passthru_irq(struct kvm *kvm, int host_irq, int guest_gsi) * We don't free this structure even when the count goes to * zero. The structure is freed when we destroy the VM. */ - +unlock: mutex_unlock(&kvm->lock); return 0; }