Date: Fri, 20 Nov 2020 14:02:43 +0000 (UTC) From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r367892 - head/sys/dev/sound/pcm Message-ID: <202011201402.0AKE2hG8088717@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: kib Date: Fri Nov 20 14:02:43 2020 New Revision: 367892 URL: https://svnweb.freebsd.org/changeset/base/367892 Log: Unlock channels when any of them are locked, when returning for non-busy state. Reported and tested by: "Wall, Stephen" <stephen.wall@redcom.com> Sponsored by: The FreeBSD Foundation MFC after: 1 week Modified: head/sys/dev/sound/pcm/dsp.c Modified: head/sys/dev/sound/pcm/dsp.c ============================================================================== --- head/sys/dev/sound/pcm/dsp.c Fri Nov 20 13:00:28 2020 (r367891) +++ head/sys/dev/sound/pcm/dsp.c Fri Nov 20 14:02:43 2020 (r367892) @@ -857,6 +857,8 @@ dsp_io_ops(struct cdev *i_dev, struct uio *buf) getchns(i_dev, &rdch, &wrch, prio); if (*ch == NULL || !((*ch)->flags & CHN_F_BUSY)) { + if (rdch != NULL || wrch != NULL) + relchns(i_dev, rdch, wrch, prio); PCM_GIANT_EXIT(d); return (EBADF); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202011201402.0AKE2hG8088717>