Received: by 2002:ab2:6816:0:b0:1f9:5764:f03e with SMTP id t22csp2293184lqo; Mon, 20 May 2024 00:42:32 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVGMvwlowd/d2rpt4hLzUG6SPCwVGvg9iJKajw/2a+E+IFeC2QSUjD2IWSy1qG4JwGLLvrjWszbBfH6RPLH/vfqrsFP3S6FH+YnjBZPAA== X-Google-Smtp-Source: AGHT+IGboi/6akxbOf5fuxW4PRldQPm41XLqYH5MBI0SHQcm1ooAeIZrvuLgsPzCE4ju06uWptyW X-Received: by 2002:a05:620a:c06:b0:793:116:55f0 with SMTP id af79cd13be357-7930116570fmr1234220585a.26.1716190951857; Mon, 20 May 2024 00:42:31 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1716190951; cv=pass; d=google.com; s=arc-20160816; b=YXQx5yXLnpMTp969XHFcUUb+2W2vGaFkSYl6eSB+Cc4qs3Ony/2yIocgfLl0VfmCuJ vjairr1TUueu0CqdKk10mK23b4FDfY5d7tAhViYIo36hOmVEzpTMxtQsUUobDwuWa8CL 9jd4tFCL6f+0nM8WEE/FYDvI4vDz06sSETGA0V42jKwdMn1+NiMnoI4sMXjtHjUAZIA6 JBrEvmOvHRItGOMtC0ajgjuB/X61WLUWOZrJhT4iHQWpSpCkTyFtLJNfErxoiItKiyGg mQ2thahJKuY7JDQgO+V1XvAZNT4gCr+IxcOUFcutVe4F5SxabdCdwcbr1lArpQi22lNf jn6w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=bdxbRY6DhIfGliSzM5MbeLiBdRI38zgyGW9MM+5fHeE=; fh=R1YyGbc11ecqubsSVGE+2a3tc5iEf8v7CluG2oM7JYE=; b=qoEHog/Kj/DLa1WqCK9JDMUa94Vxu6KJhns0A46BArD2PzWAKb3kc6hY8klNIIfh+v L6tw5oKVO5T4bHz2+f1nWpd4hasTUVarRf40xFraXEpLe6dceJREFawOkty0Lm3Iv0AS uIxZko9DCMdwYHA2qsZ2HD6lXn0Q93JveOATIqsJ3FGo6hDz/kh7zgZlSk5psIZfhHWX 4ksByCww6Fh+UepiIFBcnUi3GjdUJ2ndkmu2IEUtDPfcart5Jetgf9ty092L2INGwqAt SjTBRD4O2OPqBED08eoKZFKtavbdhEHLSnabclLgoeuwU6gfaEwEsF+5XgWQe3DamTIA MySQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@wanadoo.fr header.s=t20230301 header.b=t+8vRIjd; arc=pass (i=1 spf=pass spfdomain=wanadoo.fr dkim=pass dkdomain=wanadoo.fr dmarc=pass fromdomain=wanadoo.fr); spf=pass (google.com: domain of linux-kernel+bounces-183472-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-183472-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=wanadoo.fr Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id af79cd13be357-792bf30b5efsi2464533785a.350.2024.05.20.00.42.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 May 2024 00:42:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-183472-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@wanadoo.fr header.s=t20230301 header.b=t+8vRIjd; arc=pass (i=1 spf=pass spfdomain=wanadoo.fr dkim=pass dkdomain=wanadoo.fr dmarc=pass fromdomain=wanadoo.fr); spf=pass (google.com: domain of linux-kernel+bounces-183472-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-183472-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=wanadoo.fr Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 607701C211DF for ; Mon, 20 May 2024 07:42:30 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C64B41C286; Mon, 20 May 2024 07:42:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=wanadoo.fr header.i=@wanadoo.fr header.b="t+8vRIjd" Received: from msa.smtpout.orange.fr (smtp-83.smtpout.orange.fr [80.12.242.83]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9AC6812B8B; Mon, 20 May 2024 07:42:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=80.12.242.83 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716190940; cv=none; b=IrME58nnxlOKMfJ+qE3Q9qjBkj3sSz0+SZviaoXiq+iy17gn2DmVlQSnigcicT7pZI76QXQTbqhXuyTI4CcDji4gBui5aFEZnNW+qOwF11IJ+ElbUNc2hEVxcPxBM4+rmDkPxEZe2SOdskLlOJ5FfxiySknF5kQdBTkpx5slFIk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716190940; c=relaxed/simple; bh=k4k9NEelRcoi98SI9g7103KMZ9H3Z/pFf+PgoWGfjy0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=HZscgJqH5i4WVKZFKzdtwfoMARRvkW/54r3Fozqle8EsssbqWA2bl4mbLjgL8BD33GaDE45Plx4wnHU8joE+fLvtRxTWgqt9VPTWxGbIAGW5uJ7hm5A8NEd/cY3MW2enk2yi5NzmFZpe1rcPZHRdgFJevQacmLO3chInj2uV3fc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=wanadoo.fr; spf=pass smtp.mailfrom=wanadoo.fr; dkim=pass (2048-bit key) header.d=wanadoo.fr header.i=@wanadoo.fr header.b=t+8vRIjd; arc=none smtp.client-ip=80.12.242.83 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=wanadoo.fr Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=wanadoo.fr Received: from localhost.localdomain ([86.243.17.157]) by smtp.orange.fr with ESMTPA id 8xeqsglyjml3s8xersCxfy; Mon, 20 May 2024 09:42:10 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wanadoo.fr; s=t20230301; t=1716190930; bh=bdxbRY6DhIfGliSzM5MbeLiBdRI38zgyGW9MM+5fHeE=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=t+8vRIjdGyNISv2Dq+QABq/jhNPkpgpmtCbCrZAauIfXEEJEm4/kSoSCe2uw1oE9H k3jvy8TEzmnOPH2k5pjGrM89Pv3MKBvuG2rOC84uZ2NAdsMRR5iMI80IommRPUFKdT vs8xkqHkDt+1H7wfBfFej7bXLLGEYVu2CuLVmdf7wQlHMwd8L7VK5yTYB/gsbbVyXU whAvKBMETZ7KKN7ftm6kOqBjwohTVXGGvLcFhay5ypfK9OL1CRPJKQcWSR9/z+/Hp/ FmEPifZ8kgskWWoj6sQP0Vz2HY/1t08Qq1JTvG7hDluDPgw93lVKDxHq6v26KtdeRb oO6h4KFyha2ew== X-ME-Helo: localhost.localdomain X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Mon, 20 May 2024 09:42:10 +0200 X-ME-IP: 86.243.17.157 From: Christophe JAILLET To: Marcel Holtmann , Luiz Augusto von Dentz , Tedd Ho-Jeong An , Kiran K Cc: linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org, Christophe JAILLET , Luiz Augusto von Dentz , linux-bluetooth@vger.kernel.org Subject: [PATCH] Bluetooth: btintel_pcie: Fix the error handling path of btintel_pcie_probe() Date: Mon, 20 May 2024 09:41:57 +0200 Message-ID: <692b4749f4267436363a5a8840140da8cd8858a1.1716190895.git.christophe.jaillet@wanadoo.fr> X-Mailer: git-send-email 2.45.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Some resources freed in the remove function are not handled by the error handling path of the probe. Add the needed function calls. Fixes: c2b636b3f788 ("Bluetooth: btintel_pcie: Add support for PCIe transport") Signed-off-by: Christophe JAILLET --- Compile tested only. Maybe incomplete. --- drivers/bluetooth/btintel_pcie.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_pcie.c index 5b6805d87fcf..d572576d0dbc 100644 --- a/drivers/bluetooth/btintel_pcie.c +++ b/drivers/bluetooth/btintel_pcie.c @@ -1280,17 +1280,17 @@ static int btintel_pcie_probe(struct pci_dev *pdev, err = btintel_pcie_config_pcie(pdev, data); if (err) - goto exit_error; + goto exit_destroy_worqueue; pci_set_drvdata(pdev, data); err = btintel_pcie_alloc(data); if (err) - goto exit_error; + goto exit_free_irq_vectors; err = btintel_pcie_enable_bt(data); if (err) - goto exit_error; + goto exit_free_pcie; /* CNV information (CNVi and CNVr) is in CSR */ data->cnvi = btintel_pcie_rd_reg32(data, BTINTEL_PCIE_CSR_HW_REV_REG); @@ -1299,17 +1299,25 @@ static int btintel_pcie_probe(struct pci_dev *pdev, err = btintel_pcie_start_rx(data); if (err) - goto exit_error; + goto exit_free_pcie; err = btintel_pcie_setup_hdev(data); if (err) - goto exit_error; + goto exit_free_pcie; bt_dev_dbg(data->hdev, "cnvi: 0x%8.8x cnvr: 0x%8.8x", data->cnvi, data->cnvr); return 0; -exit_error: +exit_free_pcie: + btintel_pcie_free(data); + +exit_free_irq_vectors: + pci_free_irq_vectors(pdev); + +exit_destroy_worqueue: + destroy_workqueue(data->workqueue); + /* reset device before exit */ btintel_pcie_reset_bt(data); -- 2.45.1