From nobody Thu Oct 15 00:04:08 2026 Received: from shared-aoh59.rev.nazwa.pl (shared-aoh59.rev.nazwa.pl [85.128.243.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0A388476056; Wed, 14 Oct 2026 20:06:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=85.128.243.59 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792008388; cv=none; b=JcJ32+8bv34I1q1I6Y6R2v9KDLVCfmZQfZXU4vtQAc4VtcS7HFY70rQjKLolM2AGVqB4kU98xa3YuimY3Yd19W5GfXyby16qTeKWwf2G9P8kJM64XNpVaUW9D33h/8hcNd+TYhQlWRJg6d155xiWh6zvXa1IJF3O558KSVWe8+Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792008388; c=relaxed/simple; bh=CFDzAlI06m0tCCC1S/OpehHW705cd+WuGgMamjfs2L8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ClNU4Lcr9eleHsLbaEbKmtZsYI0/tj576+XhIUcLQSxByctTO/7bzPT9YyG4iCnc2uxXINM0T/utUaMlwc+sXacf2WHdXl6wNmI7Ic4vk/RPEHCNolHVHxIB+cSCEm8sF3Z5IUpyLJzf9IznfgTihaYKP60tdNYzz/i8hSLmaI4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=asmblr.net; spf=pass smtp.mailfrom=asmblr.net; dkim=pass (2048-bit key) header.d=asmblr.net header.i=@asmblr.net header.b=FmR9kWLN; arc=none smtp.client-ip=85.128.243.59 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=asmblr.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=asmblr.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=asmblr.net header.i=@asmblr.net header.b="FmR9kWLN" X-Virus-Scanned: by amavisd-new using ClamAV (2) X-Spam-Flag: NO X-Spam-Score: -0.625 X-Spam-Level: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=asmblr.net; s=1706450368.internal; t=1792008376; bh=Dq+E/XrCMYASPuVffIiDjn7QH/Go9EhW8/h2dFcZAXk=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=FmR9kWLNUGNlDEjV/IBzm4R+ilRE/mdQ0TaS0XvAIlpGdfy1QbWb0TcMZL9gnv4Tb q+O3sU8WpWCKg0WwH0YWEoiFRKlKTfSWPj1gnnKXeuR5rk7rsvjngRihPUzkGCM/lC LwAACsxIWRDi3fkuZ4GQssYUFXyG9BICd/SW6PyvEXZZsbK5ZdPZphiaXkAFofNls6 fCxQQNJA/8FgQ0zbzIwtblhIoudS9/a29o6Qvh98TVzc67m49ze7HdU8QF4orh0bjW aN2trO/fTN5HM++jD3Bf1Ybxqw6FB2p6Y358iDM1YmSusNj8KUN7zBbtAqj24v5zaU qEBukXoABwknA== Received: from milkyway (91-150-221-36.dynamic.play.pl [91.150.221.36]) by server753313.nazwa.pl (Postfix) with ESMTP id B39DB1BC4E1; Wed, 14 Oct 2026 22:06:16 +0200 (CEST) From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= To: linux-sound@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Mark Brown , Jaroslav Kysela , Takashi Iwai , Liam Girdwood , =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= Subject: [PATCH 1/8] ASoC: soc-link: Correct stream stop operations in snd_soc_link_trigger Date: Wed, 14 Oct 2026 22:06:01 +0200 Message-ID: <20261014200608.118770-2-amade@asmblr.net> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261014200608.118770-1-amade@asmblr.net> References: <20261014200608.118770-1-amade@asmblr.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable When snd_soc_link_trigger() is called to stop, pause push or suspend stream it should call soc_link_mark_pop() on proper target to reverse operation from trigger start, pause release or resume. Fixes: 6374f493d93b ("ASoC: soc-pcm: care trigger rollback") Signed-off-by: Amadeusz S=C5=82awi=C5=84ski --- sound/soc/soc-link.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/soc/soc-link.c b/sound/soc/soc-link.c index 02fd68f2e702..50ff9ba3ac87 100644 --- a/sound/soc/soc-link.c +++ b/sound/soc/soc-link.c @@ -161,7 +161,7 @@ int snd_soc_link_trigger(struct snd_pcm_substream *subs= tream, int cmd, break; =20 ret =3D soc_link_trigger(substream, cmd); - soc_link_mark_pop(rtd, startup); + soc_link_mark_pop(rtd, trigger); } =20 return ret; --=20 2.56.0 From nobody Thu Oct 15 00:04:08 2026 Received: from shared-aoh59.rev.nazwa.pl (shared-aoh59.rev.nazwa.pl [85.128.243.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 806B23A4521; Wed, 14 Oct 2026 20:06:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=85.128.243.59 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792008387; cv=none; b=AsTGTSFFYbRDVDr2AP+6THiM4vm78htF80MECxXc3ZIAICo0BwbdsJOLBuqS1NYNEfL66YTuACkIWgZjbExCAhZfuXGROCgJIOlh9HacZggim4XYAv0yD7spC3KaR1YLopiP9sR3B8TpDCEvs0jl1oGWO1AxXj1PXnM0aDwfnWk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792008387; c=relaxed/simple; bh=1WERC/TzCysJvG5Lfl6tGyuAw4urwJ2bKSoNXMjZDSg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=tZ+waDW7Tm9X+tkt+/DwEFjVy5yD9HYWRTleo1D6jN/RcBmX26LfaGEUfpx3kFBsECCKPOqUbcmkBI46r1QciYnf8PacJx38koZC9JznWmxHhCBgh+mE+EZavmK2Wo0OKvkLseRCq8GPwtOENFofiRni1KwZfO7b3sT8NxIAUGE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=asmblr.net; spf=pass smtp.mailfrom=asmblr.net; dkim=pass (2048-bit key) header.d=asmblr.net header.i=@asmblr.net header.b=K+dXl/eo; arc=none smtp.client-ip=85.128.243.59 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=asmblr.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=asmblr.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=asmblr.net header.i=@asmblr.net header.b="K+dXl/eo" X-Virus-Scanned: by amavisd-new using ClamAV (2) X-Spam-Flag: NO X-Spam-Score: -0.625 X-Spam-Level: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=asmblr.net; s=1706450368.internal; t=1792008377; bh=rq6HnVieHHYgC+deJRUOZ990DdnJ44yqm/wCjzhoH5Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=K+dXl/eodKBg0VWBmhY7urK7NCf+9zo3MyRUVj9WZibZCURCYQyj50Svth9fBkk6C Drde2IUHGfdgPwwCehHsiNjABrIWCq1M7O1xqd/CvcLex+sR37Ul4Gcm7ZUbApVhLH F+AtbCOSOOP0T3fawF6uhV0y0t54Bu4SJx07vYPN0fK5PJKrYJEMsgLP5hgCzWlYc1 UoHtGNl62Xfepj2qY556HSw6MOiE6MAui8N/thzxj8Q2Ziw6qflTsnNSYkaj8Wfug/ 5cdIifaU/fr42eHb8496AQ57syfiOuAp4GNYJ7HFHRuM5Ti78jlkafHcqmZrC8Dcog ktN6FUI1FN/wQ== Received: from milkyway (91-150-221-36.dynamic.play.pl [91.150.221.36]) by server753313.nazwa.pl (Postfix) with ESMTP id 14DB51BC508; Wed, 14 Oct 2026 22:06:17 +0200 (CEST) From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= To: linux-sound@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Mark Brown , Jaroslav Kysela , Takashi Iwai , Liam Girdwood , =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= Subject: [PATCH 2/8] ASoC: ops: Fix return value in snd_soc_limit_volume() Date: Wed, 14 Oct 2026 22:06:02 +0200 Message-ID: <20261014200608.118770-3-amade@asmblr.net> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261014200608.118770-1-amade@asmblr.net> References: <20261014200608.118770-1-amade@asmblr.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable As documented snd_soc_limit_volume() should return 0 on success, however at some point in time this promise was broken when snd_soc_clip_to_platform_max() was refactored, refactor it once again using __free() to automatically free struct snd_ctl_elem_value and return proper value. Fixes: 7e10d7242ea8 ("ASoC: ops: dynamically allocate struct snd_ctl_elem_v= alue") Signed-off-by: Amadeusz S=C5=82awi=C5=84ski --- sound/soc/soc-ops.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sound/soc/soc-ops.c b/sound/soc/soc-ops.c index 142f407e3939..b3a719604ec7 100644 --- a/sound/soc/soc-ops.c +++ b/sound/soc/soc-ops.c @@ -406,7 +406,7 @@ EXPORT_SYMBOL_GPL(snd_soc_put_volsw_sx); static int snd_soc_clip_to_platform_max(struct snd_kcontrol *kctl) { struct soc_mixer_control *mc =3D (struct soc_mixer_control *)kctl->privat= e_value; - struct snd_ctl_elem_value *uctl; + struct snd_ctl_elem_value *uctl __free(kfree) =3D NULL; int ret; =20 if (!mc->platform_max) @@ -418,7 +418,7 @@ static int snd_soc_clip_to_platform_max(struct snd_kcon= trol *kctl) =20 ret =3D kctl->get(kctl, uctl); if (ret < 0) - goto out; + return ret; =20 if (uctl->value.integer.value[0] > mc->platform_max) uctl->value.integer.value[0] =3D mc->platform_max; @@ -428,10 +428,10 @@ static int snd_soc_clip_to_platform_max(struct snd_kc= ontrol *kctl) uctl->value.integer.value[1] =3D mc->platform_max; =20 ret =3D kctl->put(kctl, uctl); + if (ret < 0) + return ret; =20 -out: - kfree(uctl); - return ret; + return 0; } =20 /** --=20 2.56.0 From nobody Thu Oct 15 00:04:08 2026 Received: from shared-aoh59.rev.nazwa.pl (shared-aoh59.rev.nazwa.pl [85.128.243.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8087447728D; Wed, 14 Oct 2026 20:06:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=85.128.243.59 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792008388; cv=none; b=FgJhElhiXyYdFCt6mu5EehuxEMFhN/a4vzjxxPAsao3YJLnl2wPAUNhK/3De0FdMQmycwiq2+wdk/7Ze+lpBpDjmKMUrHswL0Q1wPrVmEpNWDfhvJZQIPTRZaNNieUy1SpqQdEEWYo6jmdbenRnPBdJxoa2kd+klHFfEVQ3DJ/g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792008388; c=relaxed/simple; bh=BM9PAc3YLpTdHYpu9vHSr3Fk3KgPq/7GeFRld1k+x5g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=cOIQB2oQFNlBnsaOfOLzgJI/6icgRWEZzgj7MRYu6O+GyjCRPN2hSFOOVmh26dlvugOKrxzCwkmozheRa0/s9zYa/phFr097HlekXZEtazDSTY2jfhdWe22+uWXvCjfOLLObgY+QeVBiXfwNJcSRuH0SEkFhzaqx4PlHiGe0MtQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=asmblr.net; spf=pass smtp.mailfrom=asmblr.net; dkim=pass (2048-bit key) header.d=asmblr.net header.i=@asmblr.net header.b=l0J5agph; arc=none smtp.client-ip=85.128.243.59 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=asmblr.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=asmblr.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=asmblr.net header.i=@asmblr.net header.b="l0J5agph" X-Virus-Scanned: by amavisd-new using ClamAV (2) X-Spam-Flag: NO X-Spam-Score: -0.625 X-Spam-Level: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=asmblr.net; s=1706450368.internal; t=1792008377; bh=GwsSNEed0q8frz+j+qKqe3ZlvMr6jRP/RpCCGHjfpJs=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=l0J5agphRVxdfuJ+vzXpGTo9J0k3HW7j9sqaFUE6Eh0f1f5/EhSr4XaYI4tbntMsB par19XEA/k0eVqZ8pFhaRC5turvVuw3A2OS26KAhwdQ6O+zVaqEOjPyA1jQU6tpENQ rdQC5OfKRSGKGLLpUrjBuJB5sDdVfKYwXkXnXa7sNLZ3MaQ0pHgQxz2dlRZgOmj3lk +hDG+yTPO009T4vsVYCBas/faH3EteDOqEQqvt0BQz2VxqTHYKjENRs9VHns+2WHDy r6mdEIpc5BuhI4n9U7gVZW2/0LR11wLieI3x+JQQ58bmuEcb4MoNRMNn6C4QZ0ek1E yhmZ+HGgjpHQw== Received: from milkyway (91-150-221-36.dynamic.play.pl [91.150.221.36]) by server753313.nazwa.pl (Postfix) with ESMTP id 71A5F1BC50B; Wed, 14 Oct 2026 22:06:17 +0200 (CEST) From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= To: linux-sound@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Mark Brown , Jaroslav Kysela , Takashi Iwai , Liam Girdwood , =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= Subject: [PATCH 3/8] ASoC: soc-topology-test: Check return value of kunit_device_register() Date: Wed, 14 Oct 2026 22:06:03 +0200 Message-ID: <20261014200608.118770-4-amade@asmblr.net> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261014200608.118770-1-amade@asmblr.net> References: <20261014200608.118770-1-amade@asmblr.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Call to kunit_device_register() can fail. Check return result of register call. While at it introduce helper variable so that if it fails put_device is called on properly initialized variable. Fixes: e57cdff0ddc4 ("ASoC: topology: Replace fake root_device with kunit_d= evice in tests") Signed-off-by: Amadeusz S=C5=82awi=C5=84ski --- sound/soc/soc-topology-test.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sound/soc/soc-topology-test.c b/sound/soc/soc-topology-test.c index bcfb52061133..8df845a196fe 100644 --- a/sound/soc/soc-topology-test.c +++ b/sound/soc/soc-topology-test.c @@ -24,8 +24,12 @@ static struct device *test_dev; =20 static int snd_soc_tplg_test_init(struct kunit *test) { - test_dev =3D kunit_device_register(test, "sound-soc-topology-test"); - test_dev =3D get_device(test_dev); + struct device *dev; + + dev =3D kunit_device_register(test, "sound-soc-topology-test"); + if (IS_ERR(dev)) + return PTR_ERR(dev); + test_dev =3D get_device(dev); if (!test_dev) return -ENODEV; =20 --=20 2.56.0 From nobody Thu Oct 15 00:04:08 2026 Received: from shared-aoh59.rev.nazwa.pl (shared-aoh59.rev.nazwa.pl [85.128.243.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D67233A83BF; Wed, 14 Oct 2026 20:06:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=85.128.243.59 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792008388; cv=none; b=doBPoODMvd3GW9XCC0/cNi6iVs5tWHMURm9rCIT8KwSu+x/ctA4HjNCe25ICc+NeScypEVPercsc7W+PeO/ZNRKtDnqO2oUaoPfU6c3TPIWfWzbzM278evQf/Q2xfh2Lk1o3qm/au7AWiOZwnoYNZ3dbZqevj0ISGxf0edn32qw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792008388; c=relaxed/simple; bh=jlAYGy/0N4bb/8wpXxCXCVnIE8lIy1BvxbVQNX2onuw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=C0L/pxnl8f+fcRgE6K9jReTzzf46vngf8L9cbJQ8ek3NLrICowY4EEXmIJEe5Apc7C8Nsb5WjygBGYQoRBH/+x0SfcV1ISLocT6IjfW4DwPrWOd1MnL/wG+MLf0L2VN0nuWSKwEdhHZKXSV4ao9RKR6UhEk6Aysygu8vN9Ml6Gc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=asmblr.net; spf=pass smtp.mailfrom=asmblr.net; dkim=pass (2048-bit key) header.d=asmblr.net header.i=@asmblr.net header.b=i+Ao3fVN; arc=none smtp.client-ip=85.128.243.59 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=asmblr.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=asmblr.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=asmblr.net header.i=@asmblr.net header.b="i+Ao3fVN" X-Virus-Scanned: by amavisd-new using ClamAV (2) X-Spam-Flag: NO X-Spam-Score: -0.625 X-Spam-Level: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=asmblr.net; s=1706450368.internal; t=1792008378; bh=IxLrYtMhhqSn0Eq7yboPMnwLTO5CQM4clEaxJAQRAsY=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=i+Ao3fVNxwo9RqltH+X3yc3Yv+w96QvhQSqjNs5HIokCnFB9ZcfvqJkzXoaqoHxcp NwfUegn5hZm1CF1x62Uqyiw0BzUAuWO9K+WNtdtcTl3Pk2qVPL+gvcKo2iYmtLWc/v um+YbRFHhr4bbWuSvxv2IDIi4VD+J1S1SIy/W0oKWl9IP1tqbHrxQYP6H3WFag8ktr GRpMIbklG9gZAGTfJ0sAQMTb/822Zd2V/o6nnANziz8PhNgZcUA4uF/dbiLqhZTPK0 e74m1FwXuz28S9uLuA92VgX9En/7851pnPi1RNc4OoBwNZdxVUsKdbqhGKOT2nKXOb cEXa0dz5RRpTA== Received: from milkyway (91-150-221-36.dynamic.play.pl [91.150.221.36]) by server753313.nazwa.pl (Postfix) with ESMTP id CC0AE1BC53C; Wed, 14 Oct 2026 22:06:17 +0200 (CEST) From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= To: linux-sound@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Mark Brown , Jaroslav Kysela , Takashi Iwai , Liam Girdwood , =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= Subject: [PATCH 4/8] ASoC: soc-card-test: Check return value of kunit_device_register() Date: Wed, 14 Oct 2026 22:06:04 +0200 Message-ID: <20261014200608.118770-5-amade@asmblr.net> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261014200608.118770-1-amade@asmblr.net> References: <20261014200608.118770-1-amade@asmblr.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Call to kunit_device_register() can fail. Check return result of register call. While at it introduce helper variable so that if it fails put_device is called on properly initialized variable. Fixes: ef7784e41db7 ("ASoC: soc-card: Add KUnit test case for snd_soc_card_= get_kcontrol") Signed-off-by: Amadeusz S=C5=82awi=C5=84ski --- sound/soc/soc-card-test.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sound/soc/soc-card-test.c b/sound/soc/soc-card-test.c index 47dfd8b1babc..610b8220786d 100644 --- a/sound/soc/soc-card-test.c +++ b/sound/soc/soc-card-test.c @@ -70,6 +70,7 @@ static void test_snd_soc_card_get_kcontrol(struct kunit *= test) static int soc_card_test_case_init(struct kunit *test) { struct soc_card_test_priv *priv; + struct device *dev; int ret; =20 priv =3D kunit_kzalloc(test, sizeof(*priv), GFP_KERNEL); @@ -82,8 +83,10 @@ static int soc_card_test_case_init(struct kunit *test) if (!priv->card) return -ENOMEM; =20 - priv->card_dev =3D kunit_device_register(test, "sound-soc-card-test"); - priv->card_dev =3D get_device(priv->card_dev); + dev =3D kunit_device_register(test, "sound-soc-card-test"); + if (IS_ERR(dev)) + return PTR_ERR(dev); + priv->card_dev =3D get_device(dev); if (!priv->card_dev) return -ENODEV; =20 --=20 2.56.0 From nobody Thu Oct 15 00:04:08 2026 Received: from shared-aoh59.rev.nazwa.pl (shared-aoh59.rev.nazwa.pl [85.128.243.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8FC344457C9; Wed, 14 Oct 2026 20:06:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=85.128.243.59 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792008396; cv=none; b=lMBOpRmtU7esGjqs6n1J3kjvy1kiJaTIdOoBUoL/l9rtVGuWxw5sC8pUGgg52RbI/e1kFPZzLhjzZahJp9Uj2GMeRYcVYcHsb+4UFwHKq7Tar2Vi1b7mbX/2LwPitMC+eno766nOsUFlfmylYN8REZwYBGsmgoN+wL6lnVm+96g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792008396; c=relaxed/simple; bh=T1fDisrsXnpHwDpcsIajQNo1HqgvlNZ/iwQrk6pRNUI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=N0Emj3wZ2cHhS5HMIEW9Pnp+ZSQvAPXb1mBdBj8f9YhF8EN8LgcYwDGakdTzG0Jzmbz1QiNAHsZT16PuVH65i/KBca8/McjUhseQjtjkqt5UhfREHauNU4w33Yn8FOXoo5MfowlDb6B8fUJTUV1FjIdiSvKq1EAyLYYrCzy7ba4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=asmblr.net; spf=pass smtp.mailfrom=asmblr.net; dkim=pass (2048-bit key) header.d=asmblr.net header.i=@asmblr.net header.b=mYAT42sJ; arc=none smtp.client-ip=85.128.243.59 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=asmblr.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=asmblr.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=asmblr.net header.i=@asmblr.net header.b="mYAT42sJ" X-Virus-Scanned: by amavisd-new using ClamAV (2) X-Spam-Flag: NO X-Spam-Score: -0.625 X-Spam-Level: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=asmblr.net; s=1706450368.internal; t=1792008378; bh=+c9J74pPyeQT7T0uRaJkgFdwoZYZGnRPWS92v1Y33xk=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=mYAT42sJSoYfZTRidJfyt3meCcGXAtTvpNuhpBuFfrSGWmt9/FN+csMLJQ/I+1LXE utCqs3CM+TZxeKB2bVPPeWrmD5WgZlNjtpOgh6PmnSXpBjN4WHQ/u7ic3DD9RomSZN LVyapnx0CiMpBFjWmdVnRoWcm7uTqOLQOzvKA+8y+BDUToTBwnIKzVZb0vicqo6Lzf fnSdzYLp4osqO1qkMTqQIzOtM5iELuH8ZLJYph2KLUkMYd75hA6Fi6vbAErXx/rBf1 F76o3zuq2hpt3xPV5xA4LA3Z+VwfjdSvDdidIOsTSXbeglTEFY6/ReeCP4uGyxhj4E ezimc+FOVQ+nQ== Received: from milkyway (91-150-221-36.dynamic.play.pl [91.150.221.36]) by server753313.nazwa.pl (Postfix) with ESMTP id 32B051BC50D; Wed, 14 Oct 2026 22:06:18 +0200 (CEST) From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= To: linux-sound@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Mark Brown , Jaroslav Kysela , Takashi Iwai , Liam Girdwood , =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= Subject: [PATCH 5/8] ASoC: soc-ac97: Fix error handling in snd_soc_new_ac97_component() Date: Wed, 14 Oct 2026 22:06:05 +0200 Message-ID: <20261014200608.118770-6-amade@asmblr.net> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261014200608.118770-1-amade@asmblr.net> References: <20261014200608.118770-1-amade@asmblr.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable If call to snd_soc_ac97_init_gpio() fails, proper removal procedure should mirror snd_soc_free_ac97_component() behaviour and call device_del() before put_device(). Fixes: 9bf5c3d11f1f ("ASoC: ac97: add gpio chip") Signed-off-by: Amadeusz S=C5=82awi=C5=84ski --- sound/soc/soc-ac97.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sound/soc/soc-ac97.c b/sound/soc/soc-ac97.c index 5f81e3606655..5c573c8dc249 100644 --- a/sound/soc/soc-ac97.c +++ b/sound/soc/soc-ac97.c @@ -241,10 +241,12 @@ struct snd_ac97 *snd_soc_new_ac97_component(struct sn= d_soc_component *component, =20 ret =3D snd_soc_ac97_init_gpio(ac97, component); if (ret) - goto err_put_device; + goto err_del_device; =20 return ac97; =20 +err_del_device: + device_del(&ac97->dev); err_put_device: put_device(&ac97->dev); return ERR_PTR(ret); --=20 2.56.0 From nobody Thu Oct 15 00:04:08 2026 Received: from shared-aoh59.rev.nazwa.pl (shared-aoh59.rev.nazwa.pl [85.128.243.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8FCF54825C4; Wed, 14 Oct 2026 20:06:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=85.128.243.59 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792008398; cv=none; b=UC31vCzYi8cIB7XjuM7XInANSFHQEWqZIwDeJ1sDq9DxmZMseczh7ghhh/D39/K2uq7LxVkH2FoZFGPKV4q2uH8NaMdYrVpX7poi9G1uz6YmccBMqDHsh9AjItnYevAjLuIg0h7XB0kpSQZtcDa8ige4CwAciB2erUh9ht1D/1w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792008398; c=relaxed/simple; bh=gU7Eab4c8f9nKiYDsmsmZMIicPBjVJGFNryY1WBE6SU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=SIdRQnHufkIlcai85Vkj+rmlpJFqbLGHQ6HzUUg77QfhYbnYR3v1xOTjMKz50RBTBR5QSki8ISdMiC7y0KRd+GXN8DiKlJhO4JfJg2P23ZYpbRo/qIbzxsnWVwuFW8fX/AZO9zq+7jdnEym4x42ZnyjVs7WpbjoRKTFIbV8Kj60= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=asmblr.net; spf=pass smtp.mailfrom=asmblr.net; dkim=pass (2048-bit key) header.d=asmblr.net header.i=@asmblr.net header.b=KAW900rT; arc=none smtp.client-ip=85.128.243.59 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=asmblr.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=asmblr.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=asmblr.net header.i=@asmblr.net header.b="KAW900rT" X-Virus-Scanned: by amavisd-new using ClamAV (2) X-Spam-Flag: NO X-Spam-Score: -0.625 X-Spam-Level: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=asmblr.net; s=1706450368.internal; t=1792008378; bh=yv92VjnzQLlxHqOaXOFB04TvXASerabjyOUPMWK9gcs=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=KAW900rT9t6QkNs+8oUfQCzAsz558WYVosbJq4OetTTGv1/ENg4nHwLhrCRP39jsA ncLnJDmrMPH5y7EpNRTyQtoMzuSBZswpbRXFpyumo2dwqyeFBrP6kEPYOrdGbA6M49 mykyL9zWsAmZx9OP0mDet27DAxPlYAft5VpwHmSXrQiA/899chk0u1BlXT1UwCTB06 zRkRH8da5VtEiFSgYfwz9T/qNsOJ6S9MlpgCE+yCSpqyP5S6URQCU4jWvR38Y+0ZKr deNbgh0d9uJfpw23FCc/Xv9SroMKLB5NNw3ZSVtnwN6SvXVumgw6fmkS/Ru0xw6DkR lREZdMNihh4FA== Received: from milkyway (91-150-221-36.dynamic.play.pl [91.150.221.36]) by server753313.nazwa.pl (Postfix) with ESMTP id 8B9BB1BC4FF; Wed, 14 Oct 2026 22:06:18 +0200 (CEST) From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= To: linux-sound@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Mark Brown , Jaroslav Kysela , Takashi Iwai , Liam Girdwood , =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= Subject: [PATCH 6/8] ASoC: soc-ac97: Fix debug message Date: Wed, 14 Oct 2026 22:06:06 +0200 Message-ID: <20261014200608.118770-7-amade@asmblr.net> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261014200608.118770-1-amade@asmblr.net> References: <20261014200608.118770-1-amade@asmblr.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Seems like copy paste mistake, it should have been input, as in the name of the function. Signed-off-by: Amadeusz S=C5=82awi=C5=84ski --- sound/soc/soc-ac97.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/soc/soc-ac97.c b/sound/soc/soc-ac97.c index 5c573c8dc249..9d38b38d88df 100644 --- a/sound/soc/soc-ac97.c +++ b/sound/soc/soc-ac97.c @@ -69,7 +69,7 @@ static int snd_soc_ac97_gpio_direction_in(struct gpio_chi= p *chip, { struct snd_soc_component *component =3D gpio_to_component(chip); =20 - dev_dbg(component->dev, "set gpio %d to output\n", offset); + dev_dbg(component->dev, "set gpio %d to input\n", offset); return snd_soc_component_update_bits(component, AC97_GPIO_CFG, 1 << offset, 1 << offset); } --=20 2.56.0 From nobody Thu Oct 15 00:04:08 2026 Received: from shared-aoh59.rev.nazwa.pl (shared-aoh59.rev.nazwa.pl [85.128.243.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9AEDA48EBF6; Wed, 14 Oct 2026 20:06:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=85.128.243.59 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792008399; cv=none; b=sVjJ8SoMBtXQesqcoONKozGfqdrl4waAdscA4zhRhz+D3d8mrB0rD2GhhZc3724IbT4PnWzIrbpfThnnEh1CixximEjHXt+on0PmhoCWiG9MnoEIyIbx/vJaZqvwgL+otJ/Bm/EfzM9kpp3x7JfT9mOo8Z5Xsa5vD0+B9uYJn08= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792008399; c=relaxed/simple; bh=GFq6H2UrIxc9yenr91zEFRUEwIrJZl0MB8GM56WbxOk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=BTxgwM4XKYaYRh8BB51WOrrV+STHKFHWCz6HkkAkHDovtcmUyfLx2g5B2/T8ZdrtVmFyZA+41u0VToUcjaazO+lCQlBvUzlvpQg8sDZ8E+N1Me5XjTNmAz3ysK82GjOa/Sb3dNJEEOtunDOKU7Tf6OaTc7c51Wi4lKCfT9Vz32g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=asmblr.net; spf=pass smtp.mailfrom=asmblr.net; dkim=pass (2048-bit key) header.d=asmblr.net header.i=@asmblr.net header.b=gzUEWN/b; arc=none smtp.client-ip=85.128.243.59 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=asmblr.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=asmblr.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=asmblr.net header.i=@asmblr.net header.b="gzUEWN/b" X-Virus-Scanned: by amavisd-new using ClamAV (2) X-Spam-Flag: NO X-Spam-Score: -0.625 X-Spam-Level: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=asmblr.net; s=1706450368.internal; t=1792008379; bh=UMkPHpj06admmhggcetzKLIWh8Xr06djkTDxM6/Dkcs=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=gzUEWN/by9q+teooBSdaEIlnVADj9Ag9yLm6hlXtH8f37az7jN0Vo1rWzd/YkCFfk tIT2DlHUh/xE2mwh5FMkuIoZgBRdQESojYx7audLSNMp2iNwBLDfiPdrhBOXej1prP OG4XXfVW1Hujh8pF9I+m76bz4PoENIMPLH/1qfjIM1/c2fbVvRw+k0SOKKwXxExYY6 93slhndp4f2kWQT0siQxES04riy2H6v0eNkErPQ/vE9lcnZgzHSHyYFt1OV4z3Q6Rg vq6tP4OOWCr147n+pQPW1aFLlx9PKREmyU9P/m1HRtz6qeQNwvoe1nqaPbjHPYGomB +3E5W+llixy+g== Received: from milkyway (91-150-221-36.dynamic.play.pl [91.150.221.36]) by server753313.nazwa.pl (Postfix) with ESMTP id E72761BC531; Wed, 14 Oct 2026 22:06:18 +0200 (CEST) From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= To: linux-sound@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Mark Brown , Jaroslav Kysela , Takashi Iwai , Liam Girdwood , =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= Subject: [PATCH 7/8] ASoC: soc-component: Fix return type of snd_soc_pcm_component_pointer() Date: Wed, 14 Oct 2026 22:06:07 +0200 Message-ID: <20261014200608.118770-8-amade@asmblr.net> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261014200608.118770-1-amade@asmblr.net> References: <20261014200608.118770-1-amade@asmblr.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Both caller and pointer callback expect the return value to be snd_pcm_uframes_t, however it was defined incorrectly leading to potential truncation of returned value. Fixes: 0035e2565b93 ("ASoC: soc-component: add snd_soc_pcm_component_pointe= r()") Signed-off-by: Amadeusz S=C5=82awi=C5=84ski --- include/sound/soc-component.h | 2 +- sound/soc/soc-component.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/sound/soc-component.h b/include/sound/soc-component.h index ac5e9412582e..ba860e28eec1 100644 --- a/include/sound/soc-component.h +++ b/include/sound/soc-component.h @@ -432,7 +432,7 @@ int snd_soc_component_compr_set_metadata(struct snd_com= pr_stream *cstream, int snd_soc_component_compr_get_metadata(struct snd_compr_stream *cstream, struct snd_compr_metadata *metadata); =20 -int snd_soc_pcm_component_pointer(struct snd_pcm_substream *substream); +snd_pcm_uframes_t snd_soc_pcm_component_pointer(struct snd_pcm_substream *= substream); int snd_soc_pcm_component_ioctl(struct snd_pcm_substream *substream, unsigned int cmd, void *arg); int snd_soc_pcm_component_sync_stop(struct snd_pcm_substream *substream); diff --git a/sound/soc/soc-component.c b/sound/soc/soc-component.c index 34efb270ce29..746fa4f54450 100644 --- a/sound/soc/soc-component.c +++ b/sound/soc/soc-component.c @@ -920,7 +920,7 @@ int snd_soc_component_test_bits(struct snd_soc_componen= t *component, } EXPORT_SYMBOL_GPL(snd_soc_component_test_bits); =20 -int snd_soc_pcm_component_pointer(struct snd_pcm_substream *substream) +snd_pcm_uframes_t snd_soc_pcm_component_pointer(struct snd_pcm_substream *= substream) { struct snd_soc_pcm_runtime *rtd =3D snd_soc_substream_to_rtd(substream); struct snd_soc_component *component; --=20 2.56.0 From nobody Thu Oct 15 00:04:08 2026 Received: from shared-aoh59.rev.nazwa.pl (shared-aoh59.rev.nazwa.pl [85.128.243.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 99A1148EBE0; Wed, 14 Oct 2026 20:06:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=85.128.243.59 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792008401; cv=none; b=nzdY7Mlt1VP1VDRlUi2BYbRfEmNHJX1Fa+7IBglBDS1+hVTRRVK+3Kj5XqF1lzM61Wcy8CJvBfwj7/T52qHUZ7o90SOK8sj0UcnHbNFaVFQBWPvv+CIIU0LyQlWSBsM2S/e0LSlJfGOpYe85Z6SSWlDg3rUrmZJMlLsxFanKwUk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792008401; c=relaxed/simple; bh=9GVYWY+al7DfmO/VCzNoggGLRhvjKBh7L6yUspJMc2k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ZgL9vvIygDokN1Dngq8NpQvq8IXBtycFEfQsZ7IATsPPmPnh+hIkERr1n2exJhblJ6wdt9zsyNuh6XXQ6eJIc1x7fbp0IXwcA2V0tSOyJUl08aJTZgDSUmlwrgdjmb1ob4vU+9VSQ9l5/Q5B/pae6yqyOYgNtlPkLUqFuFW68v4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=asmblr.net; spf=pass smtp.mailfrom=asmblr.net; dkim=pass (2048-bit key) header.d=asmblr.net header.i=@asmblr.net header.b=S61x9FlB; arc=none smtp.client-ip=85.128.243.59 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=asmblr.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=asmblr.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=asmblr.net header.i=@asmblr.net header.b="S61x9FlB" X-Virus-Scanned: by amavisd-new using ClamAV (2) X-Spam-Flag: NO X-Spam-Score: -0.625 X-Spam-Level: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=asmblr.net; s=1706450368.internal; t=1792008379; bh=W/B29Pv0PXz2rmbd7oBhHSBfPouiXLPv0ZyZeSfZpTs=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=S61x9FlBkrdKKGi6n9Fnqv7FOfFqoerBrLC487DLx/sPRQpox+Z5aTTx2uWlHJnFQ sPyWbuWftGCpIaiWKQqHWrzbv63mTY069eCGc/5lNuqjQltSAc1IptTvMCYLo5w4ff 3Q92oQW6W//SBSm5HYyUCl+XH2qYd+2t5OezZuS++vQ5lCfJ9yrVdwoFBW573+oW7r ERDr7zymwPw2tCOB7njU5vuHEuGh6PYe05fw+lScicfBk7ZMhqqMn7ZLLPW+HMmAHd /FhUSaEW+KibNIC3ktn2DBe37pWe4qSms/EZKxCVrhCn+Zrdwjh9cVGSLUleLzyD5z UosJ+5u5kRlAg== Received: from milkyway (91-150-221-36.dynamic.play.pl [91.150.221.36]) by server753313.nazwa.pl (Postfix) with ESMTP id 536181BBA30; Wed, 14 Oct 2026 22:06:19 +0200 (CEST) From: =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= To: linux-sound@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Mark Brown , Jaroslav Kysela , Takashi Iwai , Liam Girdwood , =?UTF-8?q?Amadeusz=20S=C5=82awi=C5=84ski?= Subject: [PATCH 8/8] ASoC: soc-dapm: Remove widget from cache on removal Date: Wed, 14 Oct 2026 22:06:08 +0200 Message-ID: <20261014200608.118770-9-amade@asmblr.net> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261014200608.118770-1-amade@asmblr.net> References: <20261014200608.118770-1-amade@asmblr.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable When a single DAPM widget is removed, it also needs to be removed from the widget cache to prevent dapm_wcache_lookup() from using a dangling pointer when checking if a widget is in cache. Since widgets may be cached across different DAPM contexts on the card (e.g. card routes), clear any matching cache entries across all DAPM contexts on the card. Since dapm_free_widgets() calls snd_soc_dapm_free_widget() anyway, it does not need to clear cache anymore. Signed-off-by: Amadeusz S=C5=82awi=C5=84ski --- sound/soc/soc-dapm.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c index 74be5e209493..7455160b11fe 100644 --- a/sound/soc/soc-dapm.c +++ b/sound/soc/soc-dapm.c @@ -2869,6 +2869,7 @@ static void dapm_free_path(struct snd_soc_dapm_path *= path) */ void snd_soc_dapm_free_widget(struct snd_soc_dapm_widget *w) { + struct snd_soc_dapm_context *d; struct snd_soc_dapm_path *p, *next_p; enum snd_soc_dapm_direction dir; =20 @@ -2889,6 +2890,22 @@ void snd_soc_dapm_free_widget(struct snd_soc_dapm_wi= dget *w) =20 dapm_debugfs_free_widget(w); =20 + if (w->dapm) { + if (w->dapm->card) { + for_each_card_dapms(w->dapm->card, d) { + if (d->wcache_sink =3D=3D w) + d->wcache_sink =3D NULL; + if (d->wcache_source =3D=3D w) + d->wcache_source =3D NULL; + } + } else { + if (w->dapm->wcache_sink =3D=3D w) + w->dapm->wcache_sink =3D NULL; + if (w->dapm->wcache_source =3D=3D w) + w->dapm->wcache_source =3D NULL; + } + } + kfree(w->kcontrols); kfree_const(w->name); kfree_const(w->sname); @@ -2906,9 +2923,6 @@ static void dapm_free_widgets(struct snd_soc_dapm_con= text *dapm) continue; snd_soc_dapm_free_widget(w); } - - dapm->wcache_sink =3D NULL; - dapm->wcache_source =3D NULL; } =20 static struct snd_soc_dapm_widget *dapm_find_widget( --=20 2.56.0