From patchwork Thu Jan 12 11:28:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 42389 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp3833055wrt; Thu, 12 Jan 2023 03:43:13 -0800 (PST) X-Google-Smtp-Source: AMrXdXuKa7s+kDRzq7YpZ8lZtOX7Unonpl/VWTCnmmYG52cRgeDrAUMBSsBM+xHnO4yMGvGR/Aaf X-Received: by 2002:a17:907:d093:b0:7c0:cd95:bbb7 with SMTP id vc19-20020a170907d09300b007c0cd95bbb7mr61138754ejc.77.1673523793019; Thu, 12 Jan 2023 03:43:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673523793; cv=none; d=google.com; s=arc-20160816; b=HF0CeFkOBqpMBRLPZgvjDsLxL5Ch9nYMlX3dn2qsopJCQm902IcVBPyEL9SIQol4G1 jeMsL8ZRadBpB5ZH+yPeiUB9qhiINZkJ/6tAz8REW1hLwORrV6KPRlDIhP2sNhKicy1Y NfOYg4Mte4Ezt2um4WLxECBeHtwuUwYHXfW0+IyUltyjB4/mo8T3jNQvkEqXwjd14Nv1 9vQOomKPLWW7vhxpPrPmwa5W9i8gySXv+/9sU7xKxvs6NMyTq6xs66D1C2Bd1oWfRcIL BcxZn/UGglD0Sz5XUVmg+ICH8tCINYyWaD/fLkJ7sx43AbhJTBbp1KF4qXVQJFWb0F29 7oYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=0QdAwA4JdsWpztWRMdMYQsdIgLaCMlT/XkfVF2eYZzw=; b=jnt1XKsyPzsnsBUabuT6gV1Lum7FpD+j7furseeze3xwNenFEkCGjWb+u87fdsIG7X 4ZvOkpZ6UlREXBvM/ACw5pxvOCaSFhWrHPqLbMRK5Yx+6Dg2r1ZYP1VesDFmiRVQVEDx HqoTMEFdn0pPya22h5Duwza9S3AaRi6YJ2uFlrvyr0YhRTjDLRy1EmdhvC6tIbPl7ExU fPMMreMsG+Uw2aK3YoDwFaWalCmUwYcq0Oaq3beVGfnV922LQrs1eqsyZKaT+Rcv+jvt Aeust67aUKMKRVR4/4Q7NzZ5gAtLuKYBo24D1bDixlgLhSOgsSzF7jxbSyBiAk89mQ7M RCsA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=OQwuQRuA; 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=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id xi3-20020a170906dac300b0084c3a089f39si6650543ejb.350.2023.01.12.03.42.46; Thu, 12 Jan 2023 03:43:12 -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=@intel.com header.s=Intel header.b=OQwuQRuA; 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=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235804AbjALLhd (ORCPT + 99 others); Thu, 12 Jan 2023 06:37:33 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48480 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232019AbjALLgV (ORCPT ); Thu, 12 Jan 2023 06:36:21 -0500 Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C330B10073 for ; Thu, 12 Jan 2023 03:28:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673522918; x=1705058918; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=C4Q7t6S4036xeiDu5xxCUyx970NCpXYQ7LpyZ8TZ13k=; b=OQwuQRuAI0oWu1tRqs5zY9WFfeOvyt1YYsO/qZPnMQ6tWN7Vd2FjsvE3 L1h22ULXqTeYCYW89EaPM31TDr25kHpJFXSV0VuiRYCw1g2HT1SLszSB9 NxZjKztg3YE+0khNAsTvBTXc3TuCzE+u9Bpm4zvb/C5rRzCXP7pheURqo KS9y5rBbUWBXGRWRuJn7l624MuDoy25zD2uKA5SeGJZxyJBkRbs1QgDyv JuF/dOKzIbyDxhylOUYxZ5zwx7z0zjn7rBmSLPQWqeu6Swhm532mejl1t cvIxS3U6ISHKlWqBr1XmomwutV+IeAKovUedATPZL3LsHSEB/c/t8bpfB g==; X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="385994962" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="385994962" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2023 03:28:28 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="986519418" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="986519418" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga005.fm.intel.com with ESMTP; 12 Jan 2023 03:28:22 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 72458E1; Thu, 12 Jan 2023 13:28:56 +0200 (EET) From: Andy Shevchenko To: Mark Brown , Hans de Goede , Pierre-Louis Bossart , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Cc: Cezary Rojewski , Liam Girdwood , Peter Ujfalusi , Bard Liao , Ranjani Sridharan , Kai Vehmanen , Jaroslav Kysela , Takashi Iwai , Andy Shevchenko Subject: [PATCH v2 1/5] ASoC: Intel: bytcht_es8316: Drop reference count of ACPI device after use Date: Thu, 12 Jan 2023 13:28:48 +0200 Message-Id: <20230112112852.67714-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230112112852.67714-1-andriy.shevchenko@linux.intel.com> References: <20230112112852.67714-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754816885153919425?= X-GMAIL-MSGID: =?utf-8?q?1754816885153919425?= Theoretically the device might gone if its reference count drops to 0. This might be the case when we try to find the first physical node of the ACPI device. We need to keep reference to it until we get a result of the above mentioned call. Refactor the code to drop the reference count at the correct place. While at it, move to acpi_dev_put() as symmetrical call to the acpi_dev_get_first_match_dev(). Fixes: 3c22a73fb873 ("ASoC: Intel: bytcht_es8316: fix HID handling") Signed-off-by: Andy Shevchenko --- sound/soc/intel/boards/bytcht_es8316.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c index 09d1f0f6d686..df157b01df8b 100644 --- a/sound/soc/intel/boards/bytcht_es8316.c +++ b/sound/soc/intel/boards/bytcht_es8316.c @@ -497,21 +497,28 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev) if (adev) { snprintf(codec_name, sizeof(codec_name), "i2c-%s", acpi_dev_name(adev)); - put_device(&adev->dev); byt_cht_es8316_dais[dai_index].codecs->name = codec_name; } else { dev_err(dev, "Error cannot find '%s' dev\n", mach->id); return -ENXIO; } + codec_dev = acpi_get_first_physical_node(adev); + acpi_dev_put(adev); + if (!codec_dev) + return -EPROBE_DEFER; + priv->codec_dev = get_device(codec_dev); + /* override platform name, if required */ byt_cht_es8316_card.dev = dev; platform_name = mach->mach_params.platform; ret = snd_soc_fixup_dai_links_platform_name(&byt_cht_es8316_card, platform_name); - if (ret) + if (ret) { + put_device(codec_dev); return ret; + } /* Check for BYTCR or other platform and setup quirks */ dmi_id = dmi_first_match(byt_cht_es8316_quirk_table); @@ -539,13 +546,10 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev) /* get the clock */ priv->mclk = devm_clk_get(dev, "pmc_plt_clk_3"); - if (IS_ERR(priv->mclk)) + if (IS_ERR(priv->mclk)) { + put_device(codec_dev); return dev_err_probe(dev, PTR_ERR(priv->mclk), "clk_get pmc_plt_clk_3 failed\n"); - - codec_dev = acpi_get_first_physical_node(adev); - if (!codec_dev) - return -EPROBE_DEFER; - priv->codec_dev = get_device(codec_dev); + } if (quirk & BYT_CHT_ES8316_JD_INVERTED) props[cnt++] = PROPERTY_ENTRY_BOOL("everest,jack-detect-inverted"); From patchwork Thu Jan 12 11:28:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 42386 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp3832571wrt; Thu, 12 Jan 2023 03:42:04 -0800 (PST) X-Google-Smtp-Source: AMrXdXutFQ6fW5Xdjapk9FUdSWqHFHRXYSsLIFc+t1DHwP36wiEsrvv+C1ooVV/kxc3I+dgohff0 X-Received: by 2002:a05:6402:25cc:b0:45c:835b:9461 with SMTP id x12-20020a05640225cc00b0045c835b9461mr67880227edb.29.1673523724187; Thu, 12 Jan 2023 03:42:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673523724; cv=none; d=google.com; s=arc-20160816; b=oSG032a4l6WGlad3guFbAd6/u4zg7DIidZ2XbtKHdQaNQ+v5LmEELvczWjemUjLVKk o6oxYzQGx9WG+74o3aDwkZru+Kpl21DarKg1fetHrlE57L31xrJVlSfcvrOmWgJ6qwUb Rr5KD6wJbPOCyKOxAjZCjEc383Nn915KE68aJPdoaNqzfzqwCBe1mDs1I+QAOQBCJHHY bScqbZkxOso4bjvNL0q1P57CEp49MxZrOvrFyDy+r9bDz2BFw2HBV9mcw4tx+9oxij4j OvE+ac+Ya+3LDYJJqerVxBlt6dMhNc0lBtkkynbU/BAGV5a/za2462n90c3Ki3fr+VqU 4BgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=god9bqF047Erg7vQUlUT3kAEUUbHphvGViaQd8pEosM=; b=vYpk7t9NZdu7AG7LISte8ZxY8aRe4WQrZkCxfExcEgZQJAZA9D34vCRmcElHG5MKpY GHWusWJG4S6+wxQzmmWt5D1geCmru8WXZSx/Gr07x/nJS/0zl704qIR+DErMC9khdJJy PNORYB7ia4wVi3zqCAv7NgfKNProXhnbH8sjB1fK3nYcuXImJXEJzh98giMAyXUQcFzN XAPWDOSoZVLqbjCcAGlcP+utj1mH168OEEWJ9zVrrIY345sne8tpeF7aHwR6Kx44mWYs T/Ty/g/nObIzdU6/toMjJSTwbSd/UV98NTEqkgKjvG8D3YNZwvDgQ8l1eQuFjcSL6Lh0 gTrg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=STtktRar; 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=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k12-20020a50ce4c000000b00458ff6921e6si18076824edj.79.2023.01.12.03.41.39; Thu, 12 Jan 2023 03:42:04 -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=@intel.com header.s=Intel header.b=STtktRar; 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=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231582AbjALLhQ (ORCPT + 99 others); Thu, 12 Jan 2023 06:37:16 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48426 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231655AbjALLgG (ORCPT ); Thu, 12 Jan 2023 06:36:06 -0500 Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9A694FAC8 for ; Thu, 12 Jan 2023 03:28:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673522911; x=1705058911; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=vjV8y8LbzUXQrt45Puugictbqi3QHzP5bvn2L0BGWt0=; b=STtktRarbQuzNVOUnZPlKjpufgLYeumQxHaNeEGI7sbA/ZdABTh6uZR3 G1agI7ENEq1+0MBbsx43ryAvXWQpKu8gYi6tKwpIvEtjoKgM/UJP2d5Lp Vruv/LC6gUWkahjkrO9sLuManiLWTRp3H2JheP73iM1CQNpWqMbN4U3Ad nKV/YncOediac8+svJWrtMXUTGIPKK6X3RdV9YVJDFfXUNP4QE04AszTk 9eSrgthKa7CVBRMQ4BorgssxMcsIkigQHCngNSk3eilKsa8ahgv7vpon2 akb2WnJwduXGddq4TTu+zylxYEgBYs5ULdLM0BOEUQewPvfr2bbQPK4cI g==; X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="385994942" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="385994942" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2023 03:28:27 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="986519423" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="986519423" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga005.fm.intel.com with ESMTP; 12 Jan 2023 03:28:22 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 7C04B14B; Thu, 12 Jan 2023 13:28:56 +0200 (EET) From: Andy Shevchenko To: Mark Brown , Hans de Goede , Pierre-Louis Bossart , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Cc: Cezary Rojewski , Liam Girdwood , Peter Ujfalusi , Bard Liao , Ranjani Sridharan , Kai Vehmanen , Jaroslav Kysela , Takashi Iwai , Andy Shevchenko Subject: [PATCH v2 2/5] ASoC: Intel: bytcr_rt5651: Drop reference count of ACPI device after use Date: Thu, 12 Jan 2023 13:28:49 +0200 Message-Id: <20230112112852.67714-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230112112852.67714-1-andriy.shevchenko@linux.intel.com> References: <20230112112852.67714-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754816812207223739?= X-GMAIL-MSGID: =?utf-8?q?1754816812207223739?= Theoretically the device might gone if its reference count drops to 0. This might be the case when we try to find the first physical node of the ACPI device. We need to keep reference to it until we get a result of the above mentioned call. Refactor the code to drop the reference count at the correct place. While at it, move to acpi_dev_put() as symmetrical call to the acpi_dev_get_first_match_dev(). Fixes: 02c0a3b3047f ("ASoC: Intel: bytcr_rt5651: add MCLK, quirks and cleanups") Signed-off-by: Andy Shevchenko --- sound/soc/intel/boards/bytcr_rt5651.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/soc/intel/boards/bytcr_rt5651.c b/sound/soc/intel/boards/bytcr_rt5651.c index 81ac6eeda2e6..8fca9b82d4d0 100644 --- a/sound/soc/intel/boards/bytcr_rt5651.c +++ b/sound/soc/intel/boards/bytcr_rt5651.c @@ -922,7 +922,6 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev) if (adev) { snprintf(byt_rt5651_codec_name, sizeof(byt_rt5651_codec_name), "i2c-%s", acpi_dev_name(adev)); - put_device(&adev->dev); byt_rt5651_dais[dai_index].codecs->name = byt_rt5651_codec_name; } else { dev_err(dev, "Error cannot find '%s' dev\n", mach->id); @@ -930,6 +929,7 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev) } codec_dev = acpi_get_first_physical_node(adev); + acpi_dev_put(adev); if (!codec_dev) return -EPROBE_DEFER; priv->codec_dev = get_device(codec_dev); From patchwork Thu Jan 12 11:28:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 42387 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp3832612wrt; Thu, 12 Jan 2023 03:42:12 -0800 (PST) X-Google-Smtp-Source: AMrXdXtsIv5xTDwd0ymPslGPS9u7fMBaYMiRUw2Zk/3BxVR3IXyrEE5PrZ1UViY9/kEvlpKphBYV X-Received: by 2002:a17:907:a588:b0:84d:43e4:3633 with SMTP id vs8-20020a170907a58800b0084d43e43633mr13642717ejc.36.1673523731759; Thu, 12 Jan 2023 03:42:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673523731; cv=none; d=google.com; s=arc-20160816; b=NKlxdZhGaqKdM4/vNJTxPBzJ6wCWomNltMo6HL6VCLcXUwFB/exuUtdsRMwV5xwQ4B DwkU3NM45IXH20fvtEagqLSj++1oaDye96+4u7GwOZu+r3aCsYteYRl5dl61ZC663Twh mh23XvYXvSsYgdOXV2BSf42M/inwaCek1+tz/N/bcrdCpQOr0sPYtkrtBfVVENjGX9E7 AFKX/S5e0N8X/2c73wAmnhB0Mnn0FRlekw0nOCOfKNfy7R7vGB1NTucmZN8g+iKFWFl7 SEpxby1qQrl2Kw0FGWumMclXWM4/jKc6lQR+v7ZaATZ0lrPF62DJcVf5KxBEkhK5xehE PkgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=MWE1RtDFVUobfO7E5AC5vMtxHaFnxJLcrhzKNFk54/s=; b=ntyZI4oruPoUvFq/W8DlZKf09++6vUZOAvEm4t+8jNOA/nrIv+gjyJ4YcVRee2MSpw 0r4gDB+K00A1bN3emimWXxREIRRyslEzoQZRbsBhZI2G7aXX6SPpDINUUoCs1zpS1Eym /yFLt/a4lAYB4Kq3oEzQ//Y0XaB35ZFBTOMmHZ0Rh8dGmJMDS66abbrJguHcrhY49OK4 oxyOg+aUkfWgDy3SSsKSxWVAv606m+LH410T1OjaTAJcJAIiaqrle952gr4Gh9EM6oXi 9oLWhqNcl1w4mQrFu1bJqudUeDhF//bTAq1rtd7OSgkq26Jsw7GA79pJ4v3RLtqhv06L o18w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=iViLhaW3; 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=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id xe1-20020a170907318100b0084d3360e59csi15008434ejb.601.2023.01.12.03.41.46; Thu, 12 Jan 2023 03:42:11 -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=@intel.com header.s=Intel header.b=iViLhaW3; 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=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233117AbjALLhV (ORCPT + 99 others); Thu, 12 Jan 2023 06:37:21 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50702 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232322AbjALLgR (ORCPT ); Thu, 12 Jan 2023 06:36:17 -0500 Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E44B2FCEF for ; Thu, 12 Jan 2023 03:28:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673522913; x=1705058913; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=BrwpZf0Qi8AA+i94wAgY34Wsc5QpYESR4OVN/jMXpfw=; b=iViLhaW3V5/17PQ6MYY8OqWw0t289rwZZmLTzSz+i4ovuWBnQWg7Jl0y aRYQzq7DDCVoPRHZGB3oN+HbX8Zwp/M1Njn+RBdrAI+d17I6Va2v/ZtoO jYfDj6stPS06CcNvJW+OJU3hsOffng24FR747ncy33A0FKdR8wrAc1WaM YSenvDKqSkVyXl9ucllARarf5tfYyaIYU3qnEoSU8Ws7XrW+OTT4V/fkn yIYU+BXBzhAEPz089bdW3xkAPeQsnzY6pAYlnQ6KxfU82EFRDbUgRipAO YuxhrMelGLF2FsIHHylJDLm6q0x+HjCK+rNprlGg3FZd1sW1jj02nxmIG A==; X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="385994955" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="385994955" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2023 03:28:27 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="986519424" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="986519424" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga005.fm.intel.com with ESMTP; 12 Jan 2023 03:28:22 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 8AF4831D; Thu, 12 Jan 2023 13:28:56 +0200 (EET) From: Andy Shevchenko To: Mark Brown , Hans de Goede , Pierre-Louis Bossart , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Cc: Cezary Rojewski , Liam Girdwood , Peter Ujfalusi , Bard Liao , Ranjani Sridharan , Kai Vehmanen , Jaroslav Kysela , Takashi Iwai , Andy Shevchenko Subject: [PATCH v2 3/5] ASoC: Intel: bytcr_rt5640: Drop reference count of ACPI device after use Date: Thu, 12 Jan 2023 13:28:50 +0200 Message-Id: <20230112112852.67714-4-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230112112852.67714-1-andriy.shevchenko@linux.intel.com> References: <20230112112852.67714-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754816820688241751?= X-GMAIL-MSGID: =?utf-8?q?1754816820688241751?= Theoretically the device might gone if its reference count drops to 0. This might be the case when we try to find the first physical node of the ACPI device. We need to keep reference to it until we get a result of the above mentioned call. Refactor the code to drop the reference count at the correct place. While at it, move to acpi_dev_put() as symmetrical call to the acpi_dev_get_first_match_dev(). Fixes: a232b96dcece ("ASoC: Intel: bytcr_rt5640: use HID translation util") Signed-off-by: Andy Shevchenko --- sound/soc/intel/boards/bytcr_rt5640.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c index 4699ca79f3ea..79e0039c79a3 100644 --- a/sound/soc/intel/boards/bytcr_rt5640.c +++ b/sound/soc/intel/boards/bytcr_rt5640.c @@ -1636,13 +1636,18 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev) if (adev) { snprintf(byt_rt5640_codec_name, sizeof(byt_rt5640_codec_name), "i2c-%s", acpi_dev_name(adev)); - put_device(&adev->dev); byt_rt5640_dais[dai_index].codecs->name = byt_rt5640_codec_name; } else { dev_err(dev, "Error cannot find '%s' dev\n", mach->id); return -ENXIO; } + codec_dev = acpi_get_first_physical_node(adev); + acpi_dev_put(adev); + if (!codec_dev) + return -EPROBE_DEFER; + priv->codec_dev = get_device(codec_dev); + /* * swap SSP0 if bytcr is detected * (will be overridden if DMI quirk is detected) @@ -1717,11 +1722,6 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev) byt_rt5640_quirk = quirk_override; } - codec_dev = acpi_get_first_physical_node(adev); - if (!codec_dev) - return -EPROBE_DEFER; - priv->codec_dev = get_device(codec_dev); - if (byt_rt5640_quirk & BYT_RT5640_JD_HP_ELITEP_1000G2) { acpi_dev_add_driver_gpios(ACPI_COMPANION(priv->codec_dev), byt_rt5640_hp_elitepad_1000g2_gpios); From patchwork Thu Jan 12 11:28:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 42388 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp3833053wrt; Thu, 12 Jan 2023 03:43:12 -0800 (PST) X-Google-Smtp-Source: AMrXdXudH+8+WgCWHMKJOElkoNJ6HtLUpAb4hxC37G3C+IfuOo+S64aX18o8v3JPG+ian6OoB8fk X-Received: by 2002:a17:906:5845:b0:85d:dd20:60a4 with SMTP id h5-20020a170906584500b0085ddd2060a4mr7037027ejs.40.1673523792759; Thu, 12 Jan 2023 03:43:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673523792; cv=none; d=google.com; s=arc-20160816; b=Ff4RnJGcb7O8DmSUAtZgbcT/zL8MEz3iuQDU3YnV5KG3U8aR6EdouAwVoiwZGlNIb8 7HmDUBq29KtPjEHHwT5TWUDN+b9OzK0cb1ORalhME80OBVXh5LC682mlJKkiFcXt/qtn 9plwZQsHyjGwu6FsEjZo5aSswV78EGpIze/PddW8lsGYrknjcCNMEdtEYQYZPEbqL1wx cuDkMMk/cmjr8qCf0lQTYF7vxk1uC6IGkQXQEbxiJq0FHgXGmJPUbdgGKQj8ijEybcEN spFlncuR+W6zbALXtkra56ziJx4hAm71AfQKsI6FTZfgZG5XFDcoloI0hvXP5oAqxYVb B8Dw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=pyXtNlpD9Gx5hd325o/ptRFX7155Xw5XzmIW+7BV63U=; b=GPwCuq/O89QaZ42JLXPg3MxyxSJI6fMljPJpKJkCQaDsUESvKiV2L/0mg+q0Q6UTI7 0JR+Wd/ziHU24OIXaeAFA6WbhMmS/KzQ89F4/kpfoCRmv1cOTtXkj/HqCRNbBde8HmN8 HNLRb2+zfLpN+fQnUdunqxTbqWMQWQb3Vfw1w5usrTHOpP27fUGxLQga8edydFggswne rjA1UEXc9pvo4yzo1N9BqszcJ9YbMxGPgDRmNmrRyyi4oKXGoQYCBeJchyuB0GjBaqsn Tc4lUHo+/tt6VA66QOX9/Q3IFxOeSZL3JXyKi5W9KeMzAdUFIABWTJm4R7ekLEbWUZRi btqQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=TpmvVMDA; 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=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id wt2-20020a170906ee8200b007c18e8131e1si16588313ejb.744.2023.01.12.03.42.48; Thu, 12 Jan 2023 03:43:12 -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=@intel.com header.s=Intel header.b=TpmvVMDA; 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=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235805AbjALLhm (ORCPT + 99 others); Thu, 12 Jan 2023 06:37:42 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50068 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233077AbjALLgW (ORCPT ); Thu, 12 Jan 2023 06:36:22 -0500 Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AE3DF101CB for ; Thu, 12 Jan 2023 03:28:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673522919; x=1705058919; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=9CUFrPQ09yPzbbj4IV4mmL6zJucv2gUZLtx+M2adKnU=; b=TpmvVMDAOyFLwEVQbRjWSukeGtX6lwIV/Ver0B5nICbGH/H5yVTExlCe BbjMbwU0J4ZvI6G8cLZ+PJloXsKYaCPz5O1M6tmEvQysMyCin8iqw4maL kUMHC1agz2c6fkxa5B+TH5xA6/24P6B47JnR+DPWEnKPl39ZNuwJmh7UC CEZxK/4x9bmyH9d3ZlVu+vWCQDHQwwhG6ezg0ypZYf/xUhpOC6W1+YEyg Om8SRQ5Fp0YA8sPyqa34k4mKhDKLDPoTJW2gtgUH9/fh0PL/zdIVBPeva jpXVvNIox3ED9ErABF1OdSjKviuc+JmO4LDOC/NKGH6dIshK2IFsMGHV0 A==; X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="385994966" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="385994966" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2023 03:28:28 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="986519420" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="986519420" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga005.fm.intel.com with ESMTP; 12 Jan 2023 03:28:22 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id 95AFE330; Thu, 12 Jan 2023 13:28:56 +0200 (EET) From: Andy Shevchenko To: Mark Brown , Hans de Goede , Pierre-Louis Bossart , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Cc: Cezary Rojewski , Liam Girdwood , Peter Ujfalusi , Bard Liao , Ranjani Sridharan , Kai Vehmanen , Jaroslav Kysela , Takashi Iwai , Andy Shevchenko Subject: [PATCH v2 4/5] ASoC: Intel: bytcr_wm5102: Drop reference count of ACPI device after use Date: Thu, 12 Jan 2023 13:28:51 +0200 Message-Id: <20230112112852.67714-5-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230112112852.67714-1-andriy.shevchenko@linux.intel.com> References: <20230112112852.67714-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754816884274804769?= X-GMAIL-MSGID: =?utf-8?q?1754816884274804769?= Theoretically the device might gone if its reference count drops to 0. This might be the case when we try to find the first physical node of the ACPI device. We need to keep reference to it until we get a result of the above mentioned call. Refactor the code to drop the reference count at the correct place. While at it, move to acpi_dev_put() as symmetrical call to the acpi_dev_get_first_match_dev(). Fixes: 9a87fc1e0619 ("ASoC: Intel: bytcr_wm5102: Add machine driver for BYT/WM5102") Signed-off-by: Andy Shevchenko --- sound/soc/intel/boards/bytcr_wm5102.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/soc/intel/boards/bytcr_wm5102.c b/sound/soc/intel/boards/bytcr_wm5102.c index 1669eb3bd80f..c0706537f673 100644 --- a/sound/soc/intel/boards/bytcr_wm5102.c +++ b/sound/soc/intel/boards/bytcr_wm5102.c @@ -411,9 +411,9 @@ static int snd_byt_wm5102_mc_probe(struct platform_device *pdev) return -ENOENT; } snprintf(codec_name, sizeof(codec_name), "spi-%s", acpi_dev_name(adev)); - put_device(&adev->dev); codec_dev = bus_find_device_by_name(&spi_bus_type, NULL, codec_name); + acpi_dev_put(adev); if (!codec_dev) return -EPROBE_DEFER; From patchwork Thu Jan 12 11:28:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 42385 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp3832535wrt; Thu, 12 Jan 2023 03:42:01 -0800 (PST) X-Google-Smtp-Source: AMrXdXsgLGNwIOo6hB9PnF8q/Qz3ZSrk7JMjyhVKKbChNx0E48NxUTtWOoxHrQHZTHjYz4O9n1rx X-Received: by 2002:aa7:d914:0:b0:49b:6449:1d4c with SMTP id a20-20020aa7d914000000b0049b64491d4cmr1428586edr.23.1673523720838; Thu, 12 Jan 2023 03:42:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673523720; cv=none; d=google.com; s=arc-20160816; b=gAjM4CmfjWmLU+91lV3l1/mHU9yXghmo5pgx4d+Ezbxzvhn8+U4sc+QVHX3ICAZ+Dw hCb37xd/EhIgVeSHb7CxeJ+dA/3h3Qi01DF6b+JRNvYQCi85zrVFw9TYLK+UnCw3kfMA 4ej1jL2qnZK0HMEYruYZ20zzIUXOtFr6HD+tNwnYWLp2m8nn++peZXniXZK8FBvIxJvZ iMHZH3mpvK4i0jKzBg+J8QgxusRfHl8leg1j24LTNBLIWQT+okr1aD8tuUrzlVOVvP1u 9w7Zu4+G+tn5ebzV7Nq3XWPSq12iYRfIWjhiaspUd3Cavd/tusCxyPqF2/wHStn6Q+PQ Po/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=/N7VWvMa/S+WY8ftEckvHa40vcNR6W61+hZ0FHyDJc8=; b=zE0ULhBtCbnKAqUnt15lbFASaQOIwopfn4TEvDX4MAI06Jh5Hppn4JI9vnzxWjvDlQ qMI6fNwS+8ZnLOnqk2bigyr1Txsvp/o30xhGL0JwGprxrx26Gap9NF6RG11bYKyt0b7b 0pUKvVvyKsC0EnaxBkAd+xlrj1IXq2xlZtwbr59fw8HSwZ1DW8iaan9ShtDFKR9Ey5Wx F+AT4kH7y+k/wmFrHV0mV/4VmYhffdK76fodhet5oMGH/fD2nRwISVACU118ysoKvSIn K3eVDsIQNtA8uCFScIdPPYnW6+F4P1fEtvjZvM8HjX1FSVecfdh4czMv6/p17yw1a5Ls C2iQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=Q6VkXtGk; 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=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l6-20020a056402254600b00499fe727dc4si4440241edb.274.2023.01.12.03.41.37; Thu, 12 Jan 2023 03:42:00 -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=@intel.com header.s=Intel header.b=Q6VkXtGk; 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=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232135AbjALLhL (ORCPT + 99 others); Thu, 12 Jan 2023 06:37:11 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48888 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235496AbjALLf6 (ORCPT ); Thu, 12 Jan 2023 06:35:58 -0500 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 09663E099 for ; Thu, 12 Jan 2023 03:28:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673522910; x=1705058910; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=jhd+WRzaHqmWRkPNRNir7nTbOsn0RTp6sg9bQRKKJuM=; b=Q6VkXtGkUr0v2L3z/BGLTeID0BBo7fMFPShPl7HCwZDpQXQoyE7fkw4O ZLESLm7M2aiMCG2d4DpvhQ0nDf1BrFRMEoj2x/lAdyQLxnVlCY41ESAE6 WbsqeOXbxCwUsGI+aSGUq7pyhire3XCIKoGpqalAFSwfziSmsAGm9Dm1n CzHPImKZFEs+5/AMXAZbptoMWVljgD3397QNg10OGs0BHUxbi18bUUfB2 Q9qYsXD3io9bJGjqQe/uI1IN4s240YHNYV6xKyYWhboZ4Fu5ebLp+tFDv SqxDXTPVR5rvmWf7cdyMed2sLzqR6nbYuJftr3uYZkOXTJT3xq+S86WC1 A==; X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="304058541" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="304058541" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2023 03:28:30 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10586"; a="903164798" X-IronPort-AV: E=Sophos;i="5.96,319,1665471600"; d="scan'208";a="903164798" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga006.fm.intel.com with ESMTP; 12 Jan 2023 03:28:27 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id A03854E3; Thu, 12 Jan 2023 13:28:56 +0200 (EET) From: Andy Shevchenko To: Mark Brown , Hans de Goede , Pierre-Louis Bossart , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Cc: Cezary Rojewski , Liam Girdwood , Peter Ujfalusi , Bard Liao , Ranjani Sridharan , Kai Vehmanen , Jaroslav Kysela , Takashi Iwai , Andy Shevchenko Subject: [PATCH v2 5/5] ASoC: Intel: sof_es8336: Drop reference count of ACPI device after use Date: Thu, 12 Jan 2023 13:28:52 +0200 Message-Id: <20230112112852.67714-6-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20230112112852.67714-1-andriy.shevchenko@linux.intel.com> References: <20230112112852.67714-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754816809476458258?= X-GMAIL-MSGID: =?utf-8?q?1754816809476458258?= Theoretically the device might gone if its reference count drops to 0. This might be the case when we try to find the first physical node of the ACPI device. We need to keep reference to it until we get a result of the above mentioned call. Refactor the code to drop the reference count at the correct place. While at it, move to acpi_dev_put() as symmetrical call to the acpi_dev_get_first_match_dev(). Fixes: a164137ce91a ("ASoC: Intel: add machine driver for SOF+ES8336") Signed-off-by: Andy Shevchenko --- sound/soc/intel/boards/sof_es8336.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/sound/soc/intel/boards/sof_es8336.c b/sound/soc/intel/boards/sof_es8336.c index 773e5d1d87d4..894b6610b9e2 100644 --- a/sound/soc/intel/boards/sof_es8336.c +++ b/sound/soc/intel/boards/sof_es8336.c @@ -681,7 +681,6 @@ static int sof_es8336_probe(struct platform_device *pdev) if (adev) { snprintf(codec_name, sizeof(codec_name), "i2c-%s", acpi_dev_name(adev)); - put_device(&adev->dev); dai_links[0].codecs->name = codec_name; /* also fixup codec dai name if relevant */ @@ -692,16 +691,19 @@ static int sof_es8336_probe(struct platform_device *pdev) return -ENXIO; } - ret = snd_soc_fixup_dai_links_platform_name(&sof_es8336_card, - mach->mach_params.platform); - if (ret) - return ret; - codec_dev = acpi_get_first_physical_node(adev); + acpi_dev_put(adev); if (!codec_dev) return -EPROBE_DEFER; priv->codec_dev = get_device(codec_dev); + ret = snd_soc_fixup_dai_links_platform_name(&sof_es8336_card, + mach->mach_params.platform); + if (ret) { + put_device(codec_dev); + return ret; + } + if (quirk & SOF_ES8336_JD_INVERTED) props[cnt++] = PROPERTY_ENTRY_BOOL("everest,jack-detect-inverted");