Received: by 2002:a05:6a10:9afc:0:0:0:0 with SMTP id t28csp3650779pxm; Tue, 1 Mar 2022 02:40:59 -0800 (PST) X-Google-Smtp-Source: ABdhPJweThUB4oGlZaTKvf2EkdGBdUPT/HWuDKj0udZ4jgzmdUhkTNJns9KmJOQC1Nm98y+TdWWs X-Received: by 2002:a17:90a:ce87:b0:1bc:e78f:993e with SMTP id g7-20020a17090ace8700b001bce78f993emr21053075pju.41.1646131259201; Tue, 01 Mar 2022 02:40:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1646131259; cv=none; d=google.com; s=arc-20160816; b=E13Uprk3LnupXxsRAGBp2/5ltAPUV/4sJwlFSIEMI1f4uvLeUwnhK7XRgExPnEali5 F1rcpVwXv19EaLWGtpY0k2shESOZYHzUh+l/unrlLNerOFfmDky6kuZW6dJfHk+RSoEu DlIKNZIByyO/kUztdA7TJSvVoKpaXIUjw4c1YO4x7aitOU3ExoHfpcQzBNUsv8PQucPj JOuF5q9jU67vIOQ55uySNZUptdEXAtaP7ZTaF63Xsl8cT1kMXg78HEpuEW4lseQKNgM4 MRlszPnfTQFsl8H8lSDE8V3C1zsg2Qki66d40PpyPh4DIiUI6hBPr1IPoumsSgO4asw6 Cz9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:to:from:dkim-signature; bh=k29JDfqvR6mNy7EkcocFmwmWLWxTFCgH8vy77P+eaVE=; b=dB6FriP/yhONNXvHJ/InrNB9VINwcW8/Ynn0UC2K/cL/aTVjVrtQu3bR7JwBpjzOEI mXWkoNcnVccPXryJaEZ84H/iVER5bcCk9LO6D4Imw+zqZ+D3w14CdSQGBkFL/TLyywLJ XlSGB6Xs7+4XniBugpvYAYMKCWLVpEs1q/XcSn9x6pCf7A/+M9DMz0rNwUnkYoAIdF0b 94lctAmo/q0BEJwWbghXZXczdSW6PGhMLsGWPrhzcZlyzCDxhbgn3E6H1bRryq+1ifuK 5E9GtZbNZK+D3WMPARjsjQEwlCSdp+zpxEduzyTHE0S1+CmNYhvqfbnAD1u60xseSlhY T+JQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=U4QvuLzo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i8-20020a1709026ac800b0014fdd4be672si11350100plt.584.2022.03.01.02.40.44; Tue, 01 Mar 2022 02:40:59 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=U4QvuLzo; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233168AbiCAHyj (ORCPT + 99 others); Tue, 1 Mar 2022 02:54:39 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36154 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232926AbiCAHyi (ORCPT ); Tue, 1 Mar 2022 02:54:38 -0500 Received: from mail-pg1-x532.google.com (mail-pg1-x532.google.com [IPv6:2607:f8b0:4864:20::532]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 875BC7086D for ; Mon, 28 Feb 2022 23:53:58 -0800 (PST) Received: by mail-pg1-x532.google.com with SMTP id o8so13748995pgf.9 for ; Mon, 28 Feb 2022 23:53:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id; bh=k29JDfqvR6mNy7EkcocFmwmWLWxTFCgH8vy77P+eaVE=; b=U4QvuLzoLqAHKmQMoaUBg1B7A0xkreLeZ9Spbt0PJWnJCyzL/Lt0YuogzyZMoU3R66 nMIvKh9tmxlCXVma/LPIStHeRFFeCKZ5z4A4pmar0rMiSdBTAhSnlVt64ntQDfcNbGzZ CFoGASFO/MlfxvU/Fsv1afgYUtZpuM/4woI//24S2o4tNxj9IdyMO2/oI0fDuW3PsddV QlPK8iSl99r8713o9iG6Z1CyzVWc6QzRslUvPUAqmqqa2clXdAa4h7l8oMXMwgzjmV+M FzMyt1B3jye1dChvuCQbEY5pw/fb3UV1Tz8VE23Ei6tL3WZ5EyTuqJ9VcNqOey09ERIP w8BQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id; bh=k29JDfqvR6mNy7EkcocFmwmWLWxTFCgH8vy77P+eaVE=; b=ftk6DXA7dmZiIOLNLWX83k/cFbbcderLV4174RbjoPc+/rDlmz2m/GTuRG9/BWfkLY dpIuu6rhwFKo22uhy9/M+tlz5UDrHuDitJyBBEHJ9s3RDL6hTTSENSDeRYBwFpSuRNZr Hv0j1tHJrJOb7Cw9Tsb0YfAHK5hwsFpbxZmY74TffY5Z8odQ06XikWDhk4GePiDMVTOO 67PeILlHBH+bVFMgN3y2HZ0JG9dJwfqU8HaPRVcWYDCOCaT56bO9VwBM0uqQmLADhrUw gqSKXPaevTmiVndwu2YAsVSBLcPz0qFxzkVWhZ55ggHLPyLD0o/Lh8wo4xWR992lVH1E +C9g== X-Gm-Message-State: AOAM532TA0DzzQNn3w3TXDBj4V0nJaI/6zPqWAd+E6HMs72g/LxgyDvL 7Tj5ihNv9sS0kYX4Iw/cDRRM61vY8OzbF3Y1UHU= X-Received: by 2002:a65:4845:0:b0:325:c147:146d with SMTP id i5-20020a654845000000b00325c147146dmr21097675pgs.140.1646121237775; Mon, 28 Feb 2022 23:53:57 -0800 (PST) Received: from localhost.localdomain ([159.226.95.43]) by smtp.googlemail.com with ESMTPSA id 23-20020a17090a0d5700b001bc3c650e01sm1856852pju.1.2022.02.28.23.53.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Feb 2022 23:53:57 -0800 (PST) From: Miaoqian Lin To: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Miaoqian Lin , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Subject: [PATCH] ASoC: fsl: Fix error handling in pcm030_fabric_probe Date: Tue, 1 Mar 2022 07:53:48 +0000 Message-Id: <20220301075351.31691-1-linmq006@gmail.com> X-Mailer: git-send-email 2.17.1 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This will call twice platform_device_put() if both platform_device_add() and snd_soc_register_card() fails. Fix it by using goto label to avoid duplicating the error code logic. Fixes: fb25621da570 ("ASoC: fsl: Add missing error handling in pcm030_fabric_probe") Signed-off-by: Miaoqian Lin --- sound/soc/fsl/pcm030-audio-fabric.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sound/soc/fsl/pcm030-audio-fabric.c b/sound/soc/fsl/pcm030-audio-fabric.c index 83b4a22bf15a..d397bb97f37b 100644 --- a/sound/soc/fsl/pcm030-audio-fabric.c +++ b/sound/soc/fsl/pcm030-audio-fabric.c @@ -95,19 +95,23 @@ static int pcm030_fabric_probe(struct platform_device *op) ret = platform_device_add(pdata->codec_device); if (ret) { dev_err(&op->dev, "platform_device_add() failed: %d\n", ret); - platform_device_put(pdata->codec_device); + goto err_add; } ret = snd_soc_register_card(card); if (ret) { dev_err(&op->dev, "snd_soc_register_card() failed: %d\n", ret); - platform_device_del(pdata->codec_device); - platform_device_put(pdata->codec_device); + goto err_register; } platform_set_drvdata(op, pdata); return ret; +err_register: + platform_device_del(pdata->codec_device); +err_add: + platform_device_put(pdata->codec_device); + return ret; } static int pcm030_fabric_remove(struct platform_device *op) -- 2.17.1