From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932816AbdJ3UQA (ORCPT ); Mon, 30 Oct 2017 16:16:00 -0400 Received: from mout.web.de ([212.227.17.12]:51485 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752062AbdJ3UP6 (ORCPT ); Mon, 30 Oct 2017 16:15:58 -0400 To: platform-driver-x86@vger.kernel.org, Andy Shevchenko , Darren Hart , Mattia Dongili Cc: LKML , kernel-janitors@vger.kernel.org From: SF Markus Elfring Subject: [PATCH] Sony-laptop: Use common error handling code in sony_nc_setup_rfkill() Message-ID: Date: Mon, 30 Oct 2017 21:15:21 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:1ILdUUsmYdPQmba6eUmoHrMKia19/8YvGzupG0TjnIgws/2SQK9 sUzULzcxCyhf0RQjQA0vVWgDlqRefQBolTcDBpOBEpec6npbl4ocUozia6hKHGNv2cliujh PnO1/o8pUbFxGtTgs8yy3NtmSJyd+S3RinzmRnO35jgxViu0X/KpT+pS9dq+7pEDRMRINyI lWFWzFnqVIcDqK8D06eLg== X-UI-Out-Filterresults: notjunk:1;V01:K0:ZimNhg4hUGM=:1ejqWOKTynLVQ7LV6q0vpI 7v3gjmJ6yPIi+o/E0QPdz28QOSk+bbkMFoJH9lgPoLw7GwotGhLd4nUU3D1Wsvan/OojU7Zu2 ov1I56dKgcnKlDcIx4TJev9IQzR2iVol9iZZlEmvftvp36WJwtpG7p1cyqf97igySpPborj4u 0tvB+zkGeLUN+T8JBTHbpvUIDTe5Vh10nuJPZFCW6anLktjfsV+j8FTk5/LmbTkpxJwTUtZqK OjqvvD4gZZD7lsuFLbVTz6he8JB07QyNusCjEpUSN0HH1ATyF4DD5p3WSq9Tx1y50uOov+05x ImkdA9IuTBv6Rc040aU97h01GRwQ4ROwel6SdRG8g9nNaEC91Xd5/sOtmB3osFVRI+4verBq+ X4a6+V98wlfVc8fB4NIZnGxHjkDzogXKVqMx5yhrpi8jvbc++mxqYh0qUkd4qVRVRObITXXN5 KmWTRRLMeB1Qys0W5tLi85L6K+c0ciuwMU3C7nlhqOrELUlXVl/oBnQvXuDpoAeEaCxd2LvC3 EIor1se3malhhi2AGK86qBuhNyNtVYYV2GkGMBAJX5P4ewNJbDVdjGsAO91kHWFZerQ3wGVBF Ukxt0zYZhWypkuxiOPV1UZ/WtrnH+eJl2k04Ghnd7Ndiqb10sj1ijpy9DdCNlhFXvqnG3t3Lc EUJhMP3wOiP1wrWns2zcZmt8YQV0K/ejaLb7mTu24EQ7dCCZy9vYCnWnx/X0x3AFkxUuLxWLB SWduGVHoa9k+oc0AgyWjl7dsMh6hZORCV/1J0HNhqA+vyPYqQXDDeseoMGYMCWgDwhTPG6NwE OARKgYtKQhHU7uRJh2BuMC8J16k2jjFbkxz421aKWwf8qH0EXk= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Mon, 30 Oct 2017 21:10:49 +0100 Add a jump target so that a bit of exception handling can be better reused at the end of this function. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring --- drivers/platform/x86/sony-laptop.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c index a16cea2be9c3..3ab6e41a8ed6 100644 --- a/drivers/platform/x86/sony-laptop.c +++ b/drivers/platform/x86/sony-laptop.c @@ -1660,18 +1660,16 @@ static int sony_nc_setup_rfkill(struct acpi_device *device, if (!rfk) return -ENOMEM; - if (sony_call_snc_handle(sony_rfkill_handle, 0x200, &result) < 0) { - rfkill_destroy(rfk); - return -1; - } + if (sony_call_snc_handle(sony_rfkill_handle, 0x200, &result) < 0) + goto destroy_rfk; + hwblock = !(result & 0x1); if (sony_call_snc_handle(sony_rfkill_handle, - sony_rfkill_address[nc_type], - &result) < 0) { - rfkill_destroy(rfk); - return -1; - } + sony_rfkill_address[nc_type], + &result) < 0) + goto destroy_rfk; + swblock = !(result & 0x2); rfkill_init_sw_state(rfk, swblock); @@ -1684,6 +1682,10 @@ static int sony_nc_setup_rfkill(struct acpi_device *device, } sony_rfkill_devices[nc_type] = rfk; return err; + +destroy_rfk: + rfkill_destroy(rfk); + return -1; } static void sony_nc_rfkill_update(void) -- 2.14.3 From mboxrd@z Thu Jan 1 00:00:00 1970 From: SF Markus Elfring Date: Mon, 30 Oct 2017 20:15:21 +0000 Subject: [PATCH] Sony-laptop: Use common error handling code in sony_nc_setup_rfkill() Message-Id: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: platform-driver-x86@vger.kernel.org, Andy Shevchenko , Darren Hart , Mattia Dongili Cc: LKML , kernel-janitors@vger.kernel.org From: Markus Elfring Date: Mon, 30 Oct 2017 21:10:49 +0100 Add a jump target so that a bit of exception handling can be better reused at the end of this function. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring --- drivers/platform/x86/sony-laptop.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c index a16cea2be9c3..3ab6e41a8ed6 100644 --- a/drivers/platform/x86/sony-laptop.c +++ b/drivers/platform/x86/sony-laptop.c @@ -1660,18 +1660,16 @@ static int sony_nc_setup_rfkill(struct acpi_device *device, if (!rfk) return -ENOMEM; - if (sony_call_snc_handle(sony_rfkill_handle, 0x200, &result) < 0) { - rfkill_destroy(rfk); - return -1; - } + if (sony_call_snc_handle(sony_rfkill_handle, 0x200, &result) < 0) + goto destroy_rfk; + hwblock = !(result & 0x1); if (sony_call_snc_handle(sony_rfkill_handle, - sony_rfkill_address[nc_type], - &result) < 0) { - rfkill_destroy(rfk); - return -1; - } + sony_rfkill_address[nc_type], + &result) < 0) + goto destroy_rfk; + swblock = !(result & 0x2); rfkill_init_sw_state(rfk, swblock); @@ -1684,6 +1682,10 @@ static int sony_nc_setup_rfkill(struct acpi_device *device, } sony_rfkill_devices[nc_type] = rfk; return err; + +destroy_rfk: + rfkill_destroy(rfk); + return -1; } static void sony_nc_rfkill_update(void) -- 2.14.3