From patchwork Wed Jan 25 18:34:58 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajat Jain X-Patchwork-Id: 719796 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3v7v003vXGz9sD5 for ; Thu, 26 Jan 2017 05:36:32 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="Zv2m4eI9"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752323AbdAYSfR (ORCPT ); Wed, 25 Jan 2017 13:35:17 -0500 Received: from mail-pf0-f172.google.com ([209.85.192.172]:35673 "EHLO mail-pf0-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752260AbdAYSfK (ORCPT ); Wed, 25 Jan 2017 13:35:10 -0500 Received: by mail-pf0-f172.google.com with SMTP id f144so59954195pfa.2 for ; Wed, 25 Jan 2017 10:35:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=0o4pwfjHLn52mruPQox+JDheo8eE3CUB8xaw9ms+tss=; b=Zv2m4eI9lo0C/GjOGW5HH1NkQNvnEabWJzHAxvH5scHeolXOAg13NnWKthtXlND5WS o0FhyX1S0O5eZk8o5BRgyhtPclMf8Cw87loXctfFYVcU9rEE+D4meoCuWQ7IlJ18cUC6 Ip2NZ5mijdxtp83B6TOE5EK29iQYsb5Rbz1iLjvUklgZY8pt104xw0ulL0zmoQ09qgKB AQttkYMkO8sfVT45U0QGcAjW/XVq/kSK0aIaFfhGLvPZTEDOpNEt5NhOgEui6q88sVHh e2dveOWcp0JYY29B/j+zCFX+uCZSk+QszskA1IoGb4kNvNP2qiMKtPmYrlPVxrSTjFZ+ zxlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=0o4pwfjHLn52mruPQox+JDheo8eE3CUB8xaw9ms+tss=; b=KLLE6/Ti7mzmI3TrN8hMwR/LzzAwopAmC4sKBqGjMXWEkDGXwgIblIJD9+UDU1sEBX KRtfeZ5VW66mS1mXkG/Y1ESoUcsMusFHAT8PLMmEPcWUnez3h8Qtv1+Ui4WvaJXPLZw6 dthgYbV2fxiMf8wJ8tHzi/lEqNmTIO5ozsZoOsg72K+b1ejwKP6Ba14vEFdbj1B3xEnB 7T2O5qdbQ1DY8DYeK6ZHeEJE++DLmq2Wyjzf+8hwQSjWI9YPUITxv2VsWzt+W25jQ4nh CZ4WfiZsvxvyTvDo82zOBuU/DXWXCdv/xkS1I5E3vSE4g0ZtQIx3UWPJg1A4pSi+e9qT D+Ug== X-Gm-Message-State: AIkVDXKL3lboWZCO0/dIPb7jBzllDq0nZ+56jwb16SdeW+yGkuWsSIojGHIheYr6HKBcyzPC X-Received: by 10.98.223.195 with SMTP id d64mr48571156pfl.80.1485369309767; Wed, 25 Jan 2017 10:35:09 -0800 (PST) Received: from rajat.mtv.corp.google.com ([172.22.64.13]) by smtp.gmail.com with ESMTPSA id t185sm2858073pgb.32.2017.01.25.10.35.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 25 Jan 2017 10:35:09 -0800 (PST) From: Rajat Jain To: Rob Herring , Mark Rutland , Marcel Holtmann , Gustavo Padovan , Johan Hedberg , Amitkumar Karwar , Wei-Ning Huang , Xinming Hu , netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-bluetooth@vger.kernel.org, Brian Norris , linux-kernel@vger.kernel.org Cc: Rajat Jain , rajatxjain@gmail.com Subject: [PATCH v6 1/3] Bluetooth: btusb: Use an error label for error paths Date: Wed, 25 Jan 2017 10:34:58 -0800 Message-Id: <20170125183500.8292-1-rajatja@google.com> X-Mailer: git-send-email 2.11.0.483.g087da7b7c-goog Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Use a label to remove the repetetive cleanup, for error cases. Signed-off-by: Rajat Jain Reviewed-by: Brian Norris --- v6: same as v5 v5: same as v4 v4: same as v3 v3: Added Brian's "Reviewed-by" v2: same as v1 drivers/bluetooth/btusb.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index 2f633df9f4e6..ce22cefceed1 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c @@ -2991,18 +2991,15 @@ static int btusb_probe(struct usb_interface *intf, err = usb_set_interface(data->udev, 0, 0); if (err < 0) { BT_ERR("failed to set interface 0, alt 0 %d", err); - hci_free_dev(hdev); - return err; + goto out_free_dev; } } if (data->isoc) { err = usb_driver_claim_interface(&btusb_driver, data->isoc, data); - if (err < 0) { - hci_free_dev(hdev); - return err; - } + if (err < 0) + goto out_free_dev; } #ifdef CONFIG_BT_HCIBTUSB_BCM @@ -3016,14 +3013,16 @@ static int btusb_probe(struct usb_interface *intf, #endif err = hci_register_dev(hdev); - if (err < 0) { - hci_free_dev(hdev); - return err; - } + if (err < 0) + goto out_free_dev; usb_set_intfdata(intf, data); return 0; + +out_free_dev: + hci_free_dev(hdev); + return err; } static void btusb_disconnect(struct usb_interface *intf)