svn commit: r367892 - head/sys/dev/sound/pcm

Konstantin Belousov kib at FreeBSD.org
Fri Nov 20 14:02:44 UTC 2020


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 at 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);
 	}


More information about the svn-src-all mailing list