From nobody Tue Feb 25 11:48:13 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 4Z2G7z0WXKz5pjnd; Tue, 25 Feb 2025 11:48:15 +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 4Z2G7y1z5mz3kSp; Tue, 25 Feb 2025 11:48:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1740484094; 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=nY4SzJdaVFuGM1HDUu4TbMxLxp8jfKq6YLRKI0lTGdw=; b=RzKyq0uVumF4owCRnciVp3DubKypYYzZfuScqnTXe1+VjsHa6xZ+0xxY1N9pO9lU/aa2U5 g4GheaAVKhCpJ6CCQ8EAjKura4/6qMSIBGUtNEG3uONGoLB0bFnOK+5tdYjzq+bMMrkx+6 cUeOADab5eh6RaKVh+Qy7MWFQ3kQqSDtDBMHP39lngdELb51AV/IppDbLWxpBXq8pyoFgW /uj9XR+HLRU77Jcrh26zu/xih0ICt5sIboNI3dGe+qz4G1rjTYDYtsjZonAXD+R4PnQVyQ Phk1I+80cKou/k2bIC3kYufbUiuKK9wLWkflsbiD1882OU5w6RMYaj8AeEgUIw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1740484094; a=rsa-sha256; cv=none; b=K5yLYA5Yh8y3igWNJRCbY64AhFoWq3GZLIH5nHrQ+s/NFJ2vB9AsGKIl0bY4XMuYgKYiC6 tfDIF+6DsbDYsENOaq/qiQ5Z+TEFp/z/HPNYqaiRc1OIYabZyAcCRSNg1fp/KlW44ldrHM aAQQCU1Ojzh0obo14h02Et5o2ea5pUiiNjw8ursl1LyCE7guN71CDQac586xwlYfGozujO wC1B/BoMn7mpKKlRgX4I8Q46g8kLQBf53k3k8imTCjSs9CanEGwD+SBrcDH0uvtmkapH8h +hsviIflYO8u2ZFikGpm8ZCNtPWEpuSWf46gYPs24GLt/GXOsVAvk9cJEJ938w== 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=1740484094; 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=nY4SzJdaVFuGM1HDUu4TbMxLxp8jfKq6YLRKI0lTGdw=; b=GJHT1zzdbEdOuqh4QNd08ZLH2LayqYhSPSEZeOmdHw46uMNvtGPN7q6LCniVqFnY5mnoC7 FFiflGb7WgmJhzBeAXoyQs3w6eq8Jbme6Ak9hRWwYNGCfBxjB2HmULRbjsIcdzbncyA7vt BiVhCk0eQgRC9WsqTqI9XFp05untnjzPLZk77ZWJH/VtQizNDbBjiVE92etRzHfKet7cTa VDhL8mdnRBUJWjjdj8c3rVWD0B5GNClzO+nIt2WnSO4GojVjNEgT4zAFLTrZEPGqk4o49l FoGUb3Rs0yurWrCyd71l3P3mkVAEi+2RJvYMSqSHS1dMx4lMBm18k7ZRvOw6WQ== 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 4Z2G7x55mmz91r; Tue, 25 Feb 2025 11:48:13 +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 51PBmDB8050868; Tue, 25 Feb 2025 11:48:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51PBmD45050865; Tue, 25 Feb 2025 11:48:13 GMT (envelope-from git) Date: Tue, 25 Feb 2025 11:48:13 GMT Message-Id: <202502251148.51PBmD45050865@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Christos Margiolis Subject: git: d39be38a3533 - main - 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/main X-Git-Reftype: branch X-Git-Commit: d39be38a353323d05744eeb3e08267108e55b9b1 Auto-Submitted: auto-generated The branch main has been updated by christos: URL: https://cgit.FreeBSD.org/src/commit/?id=d39be38a353323d05744eeb3e08267108e55b9b1 commit d39be38a353323d05744eeb3e08267108e55b9b1 Author: Christos Margiolis AuthorDate: 2025-02-25 11:43:33 +0000 Commit: Christos Margiolis CommitDate: 2025-02-25 11:43:33 +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 --- 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);