From patchwork Wed Dec 14 19:12:57 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajat Jain X-Patchwork-Id: 705774 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 3tf5pq4ZFpz9sxS for ; Thu, 15 Dec 2016 06:14:11 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="El6Z71WZ"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756250AbcLNTNU (ORCPT ); Wed, 14 Dec 2016 14:13:20 -0500 Received: from mail-pg0-f41.google.com ([74.125.83.41]:35823 "EHLO mail-pg0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756196AbcLNTNQ (ORCPT ); Wed, 14 Dec 2016 14:13:16 -0500 Received: by mail-pg0-f41.google.com with SMTP id p66so10941058pga.2 for ; Wed, 14 Dec 2016 11:13:14 -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=yBU+W/Utdna3htB92Y+tf03VlAfGCOhLscxIcjF0K98=; b=El6Z71WZuqNA5tcNekDNXaXpnLyIHGIsKH7iBReANf0L6m01G2HG4odJKO/MICQEsw Bpviyut8WGlP3sG4CQdW6jgkNOabdDOdAUdxPARvLbym5gh6Te3c79U0CEbc+Yl+SDKY huYYLLD31cqoOIRpaFP+b3wHZKe7Em34Iv2sJ1AnyvYvQ3kp8wrrnBexkXCYpAF5i/IB J1/yu3kPQwHY22ircddK/6ZHMyj+9CeKVjNoRbZ4I5rZkbPQiz7voolvUqxsgImUCPcj gNvT+O+0zxnClRTt1Vi9LINORomGSDuAS4gUmnM1FIkSPf8Vx5CSJvbqqOtL70iVyZLy 71GQ== 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=yBU+W/Utdna3htB92Y+tf03VlAfGCOhLscxIcjF0K98=; b=BLFS2FlyDMLF+Q/PeWAtAKhXDeu1falPMvHo0RNsW/Ya+klYt4AAZ2kDz0TY81uvZ5 pGGtcTe9TuOtefVP4qEUrgXstOi52SALfethlndzykdSACsekc9NdVbdFpAMfLKmr3SA bZH7YAQ9S4kiAkB8imLTmN2XWVjr3XxNaR/PgQNu24sdW0YjX4qNIs0RmgZmRhzynzPq 5U5q7a+/REz0jnLCYpRImo4PWtqRZRz81IfHeYKeinkKmwZV6wzQiAjpo3ZK1BWwDBKM 7jm0wmnXie8hGeKBzoxZ6zwsibT+LUlYEBZar70s85BdHG3SAHRUF/XzKuOo2BSmwWIl aApA== X-Gm-Message-State: AKaTC02gag9wDtgGq/GhSblwpY3QYL8dQHt2ro60tvyKZ3SA/nFpTs6eHahCwl6JZ5WkTaZw X-Received: by 10.84.213.23 with SMTP id f23mr209714524pli.59.1481742794126; Wed, 14 Dec 2016 11:13:14 -0800 (PST) Received: from rajat.mtv.corp.google.com ([172.22.64.13]) by smtp.gmail.com with ESMTPSA id b12sm88983901pfb.78.2016.12.14.11.13.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 14 Dec 2016 11:13:11 -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 Cc: Rajat Jain , rajatxjain@gmail.com Subject: [PATCH 1/3] Bluetooth: btusb: Use an error label for error paths Date: Wed, 14 Dec 2016 11:12:57 -0800 Message-Id: <1481742779-15105-1-git-send-email-rajatja@google.com> X-Mailer: git-send-email 2.8.0.rc3.226.g39d4020 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. (This label will also be used in subsequent patches). Signed-off-by: Rajat Jain --- 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 2f633df..ce22cef 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)