From nobody Tue Mar 4 15:46:57 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Z6g6B4YQjz5qGVq; Tue, 04 Mar 2025 15:46:58 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z6g6B0DPKz4240; Tue, 04 Mar 2025 15:46:58 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741103218; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SPASJDxi2V8kBVvbcTrp2IgoOUCsGfCDccyeboKSK8Q=; b=CXCD0FK8oDtV8gpGWmwhmcVOptJkGlEnwDr06P5K3bY+aBvl4VAyuOZ7n6kMUNy1kSIFrV ndfxeFuWR9JqwXn+bSPOS4xzE9CU2CKK8mQkq9/wBHnFBGLvltLri9TA62Sd0KdLxHMShg G0e67nct85xkx3xi3x+yddu6pWRc1r8Gjkaz400Lm/hiUwnvMzP8bG467anHWc0goymq6F R6z/daGTyR5FWbtOcPn92NIgCOWpITgWoMlo/H0ApkXULeo5MR/Eg9+ktg6lpFFDmjqMt+ eVyXD7lv9EO1UCRs3uENdbzqd75Bl605893ZBXWdmX12RDffHV9d/U4wOLKO9g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741103218; a=rsa-sha256; cv=none; b=PDlmZ7Lyfk1+XlXuduk2IDoEE0jzJjuvTfaeIITCeV9snZJQRmY2u79onLPwZL+z5aLrrH 0WIm8EBflwjHUJ1gyAUHVQ4m6Fv+bTpYt45eGFGWrJk0QewxskiYQyT+mNl9uqiDKPf0O7 voQ65cZk/A8TWur6peT0dFXbtNYKEggh+CScasSF1GYNjJ0Hv59BgoZkqCZ5UD7vIT2ZhX WvYnv/TGISPFPn5eTRkdZOLZBwUMAst//czEJFY81DvJZzjJtM7DKGFjro3KDAX77VPylv NYnRMqB9TwxdPzUruT+nSQUcZekFYNCTj0b8XW09C+y8MpzRkCKe5OR93wrdew== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741103218; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SPASJDxi2V8kBVvbcTrp2IgoOUCsGfCDccyeboKSK8Q=; b=LebGeIXxeQHcP9SSHvspHrokE8pUwEF3N4EKNSOPKeTzT3/+EUMAt0/9m0n+hRivrCUx5w Q79SHRqu+wQ12fxWuLO0+9fYaxadf7VOoxYw1iZw0DRSqv/vg6nWWEY5BpuD5/SsvfWzlj pPXT4yKidbOJvLLd4PI1lF3MtsVwMXyWC/jNq+S1xhzhTjOrBglRgmav/xHef5peN0QHNo kW/tkIpl2k5esr5FYzqr1WHxYF71El2dOWsGqlrm4pYAiOGUmvUuksGyc02NhmN8KDlqt2 oOl+fZcx1Evh4/1g9K13TCOuXv7wYWukRg0TsNTb+aieouOVpm2UgLls8EIhrw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Z6g696sRPz8Bk; Tue, 04 Mar 2025 15:46:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 524Fkv5W049842; Tue, 4 Mar 2025 15:46:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 524Fkv04049839; Tue, 4 Mar 2025 15:46:57 GMT (envelope-from git) Date: Tue, 4 Mar 2025 15:46:57 GMT Message-Id: <202503041546.524Fkv04049839@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Christos Margiolis Subject: git: a8fc61770121 - stable/14 - sound: Report actual vchanrate and vchanformat in sysctl List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: christos X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: a8fc617701219d9d466332085381c266e9e686e3 Auto-Submitted: auto-generated The branch stable/14 has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=a8fc617701219d9d466332085381c266e9e686e3 commit a8fc617701219d9d466332085381c266e9e686e3 Author: Christos Margiolis AuthorDate: 2025-02-25 11:43:33 +0000 Commit: Christos Margiolis CommitDate: 2025-03-04 15:46:05 +0000 sound: Report actual vchanrate and vchanformat in sysctl Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: dev_submerge.ch Differential Revision: https://reviews.freebsd.org/D48435 (cherry picked from commit d39be38a353323d05744eeb3e08267108e55b9b1) --- sys/dev/sound/pcm/vchan.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/sys/dev/sound/pcm/vchan.c b/sys/dev/sound/pcm/vchan.c index 4ee7e01066d3..b0caec3acfec 100644 --- a/sys/dev/sound/pcm/vchan.c +++ b/sys/dev/sound/pcm/vchan.c @@ -497,9 +497,7 @@ sysctl_dev_pcm_vchanrate(SYSCTL_HANDLER_ARGS) KASSERT(direction == c->direction, ("%s(): invalid direction %d/%d", __func__, direction, c->direction)); - CHN_LOCK(c); - newspd = c->speed; - CHN_UNLOCK(c); + newspd = *vchanrate; ret = sysctl_handle_int(oidp, &newspd, 0, req); if (ret != 0 || req->newptr == NULL) { @@ -530,7 +528,6 @@ sysctl_dev_pcm_vchanrate(SYSCTL_HANDLER_ARGS) ret = chn_reset(c, c->format, newspd); if (ret == 0) { - *vchanrate = c->speed; if (restart != 0) { CHN_FOREACH(ch, c, children.busy) { CHN_LOCK(ch); @@ -543,6 +540,7 @@ sysctl_dev_pcm_vchanrate(SYSCTL_HANDLER_ARGS) } } } + *vchanrate = c->speed; CHN_UNLOCK(c); @@ -605,15 +603,11 @@ sysctl_dev_pcm_vchanformat(SYSCTL_HANDLER_ARGS) KASSERT(direction == c->direction, ("%s(): invalid direction %d/%d", __func__, direction, c->direction)); - CHN_LOCK(c); - bzero(fmtstr, sizeof(fmtstr)); - if (snd_afmt2str(c->format, fmtstr, sizeof(fmtstr)) != c->format) + if (snd_afmt2str(*vchanformat, fmtstr, sizeof(fmtstr)) != *vchanformat) strlcpy(fmtstr, "", sizeof(fmtstr)); - CHN_UNLOCK(c); - ret = sysctl_handle_string(oidp, fmtstr, sizeof(fmtstr), req); if (ret != 0 || req->newptr == NULL) { PCM_RELEASE_QUICK(d); @@ -637,7 +631,6 @@ sysctl_dev_pcm_vchanformat(SYSCTL_HANDLER_ARGS) ret = chn_reset(c, newfmt, c->speed); if (ret == 0) { - *vchanformat = c->format; if (restart != 0) { CHN_FOREACH(ch, c, children.busy) { CHN_LOCK(ch); @@ -650,6 +643,7 @@ sysctl_dev_pcm_vchanformat(SYSCTL_HANDLER_ARGS) } } } + *vchanformat = c->format; CHN_UNLOCK(c);