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.w...@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); } _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"