From patchwork Mon Jan 2 20:30:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 38191 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp4305298wrt; Mon, 2 Jan 2023 12:31:49 -0800 (PST) X-Google-Smtp-Source: AMrXdXuBa34CnPtdTnU5IIMDazM2Wkd8+pG6Xx1wYP+SDfHtO2BZRE4pMU4CsslfsnnP98QgkaYg X-Received: by 2002:a05:6402:541a:b0:46c:e974:fa49 with SMTP id ev26-20020a056402541a00b0046ce974fa49mr7810572edb.4.1672691509570; Mon, 02 Jan 2023 12:31:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1672691509; cv=none; d=google.com; s=arc-20160816; b=RM94aGbu1CP3j9ogh9K7i5n3bGJ27kBK604LWIRCN6erGNRlH0FejbT0qjb1czJh2k 4sNkntY1L+iSMYWtEyXlIAOXZOAcAFQDF/5m7grbF0qGdYra7fs4YJSwb4ZA4Ie7loOa 8cn30IyfTeHD5sjDoFhC6VM5JcxHuy2UWWMjNu7L1a9hFeClPdHCk+aBTlAlCSMlfuYj +WWcGRmt/Sc9gzSPNqnK0yyNSZsznEZxVXIswGTYQgZL240CezE7U35to94m15lQW7Jp 2k/qfjrpElHfzGvDVc8U3aKn6FJWZAkWbvoGgqrqxr/WRSeQ2tMP5Nw/k21NxtQGpvTc hNZA== 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=yYf0Dl8HLvFQQjcIBdIJGh9OYpD31qqpsBsTnnGAu40=; b=AWdjgGTAXAUflPWBXxJd3ExrrkwFcWc/3/RnC78IV8BOJr7NeWBpAjxk2KPqc3oOeZ OcoinJBWd0/wFq4JzbiQ6EInkcx4pTPEqnESatdtmKiSvPtf/2tMEmMxH2ALookpSfBs by2tKbbY/aVAui85NEUItSxfkJ3vEkbQAlJmRBcG8VDWNawzK5jyDLGSFPkGD4n7nVx1 kcz13fjq0c6g6w4J7t9c8V0ZsljQwTmTQCMGc5UIp1QwToeSInat+0D9OuzwnnBuvHfl 0p4zL257JHeT35RtOyqt1P3mb63aIj+FxezPCA2Y+yYwwTea8pAN9NexCRv/hXwa4KXK M+mA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=RSSnGtvf; 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 b12-20020a05640202cc00b00483347f1b8esi20947138edx.402.2023.01.02.12.31.25; Mon, 02 Jan 2023 12:31:49 -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=RSSnGtvf; 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 S234803AbjABUay (ORCPT + 99 others); Mon, 2 Jan 2023 15:30:54 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51370 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236202AbjABUaJ (ORCPT ); Mon, 2 Jan 2023 15:30:09 -0500 Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D2C84BF78 for ; Mon, 2 Jan 2023 12:30:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672691408; x=1704227408; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=REg3sRJeCK62YhYgQJa6h4HICvITSloNV8ZmQioK800=; b=RSSnGtvfk46gMt4nNFmlGJChgpVJ5mpV+iDWLAf1VTpCtRi7QloJCmpP WTifXL1s5z4t40QfgTkTeFRRibF+s5e+ioZA4nfK2mvOqj3xuYnovJLJV eykbxjuFMkMRK6bJPgmKMbgjPkikedo9cD2plqvk81oI23S7Uvhz+l7Fk pmh1YbzKtc9pJh/K2DLRXWKjOrThVyBlt0RM50Z9kRLk271Sn8QdzoZ8e Ul6vCx0jXYgdQyH8wOLVm4ZsTGSmlLYj59t7eKhWix9Yd9UMJ0EjJiMY5 cGmYBbEGtD0DIcHZd9tvOLJGaZsljHvOl2b2kw5keN2WEXFy7Jr3ZeDqA A==; X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="320252187" X-IronPort-AV: E=Sophos;i="5.96,295,1665471600"; d="scan'208";a="320252187" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jan 2023 12:29:50 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10578"; a="685170314" X-IronPort-AV: E=Sophos;i="5.96,295,1665471600"; d="scan'208";a="685170314" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga008.jf.intel.com with ESMTP; 02 Jan 2023 12:29:44 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id C1F4519E; Mon, 2 Jan 2023 22:30:16 +0200 (EET) From: Andy Shevchenko To: Mark Brown , Vijendar Mukunda , Hans de Goede , Pierre-Louis Bossart , alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Cc: Liam Girdwood , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , Peter Ujfalusi , Bard Liao , Ranjani Sridharan , Kai Vehmanen , Andy Shevchenko Subject: [PATCH v1 3/6] ASoC: Intel: bytcr_rt5651: Drop reference count of ACPI device after use Date: Mon, 2 Jan 2023 22:30:11 +0200 Message-Id: <20230102203014.16041-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20230102203014.16041-1-andriy.shevchenko@linux.intel.com> References: <20230102203014.16041-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?1753944172189746284?= X-GMAIL-MSGID: =?utf-8?q?1753944172189746284?= 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);