svn commit: r326186 - head/sys/dev/sound/pci/hda
Alexander Motin
mav at FreeBSD.org
Sat Nov 25 09:42:16 UTC 2017
Author: mav
Date: Sat Nov 25 09:42:14 2017
New Revision: 326186
URL: https://svnweb.freebsd.org/changeset/base/326186
Log:
Slightly fix bidirectional stream number allocation.
This logic is still imperfect, since it allows at most 15 bidirectional
streams out of 30 allowed by specification, but at least now those should
work better. On the other side I don't remember I ever saw controller
supporting the bidirectional streams, so this is likely a nop change.
MFC after: 1 month
Modified:
head/sys/dev/sound/pci/hda/hdac.c
Modified: head/sys/dev/sound/pci/hda/hdac.c
==============================================================================
--- head/sys/dev/sound/pci/hda/hdac.c Sat Nov 25 09:03:38 2017 (r326185)
+++ head/sys/dev/sound/pci/hda/hdac.c Sat Nov 25 09:42:14 2017 (r326186)
@@ -1801,7 +1801,7 @@ hdac_find_stream(struct hdac_softc *sc, int dir, int s
int i, ss;
ss = -1;
- /* Allocate ISS/BSS first. */
+ /* Allocate ISS/OSS first. */
if (dir == 0) {
for (i = 0; i < sc->num_iss; i++) {
if (sc->streams[i].stream == stream) {
@@ -1869,7 +1869,7 @@ hdac_stream_alloc(device_t dev, device_t child, int di
/* Allocate stream number */
if (ss >= sc->num_iss + sc->num_oss)
- stream = 15 - (ss - sc->num_iss + sc->num_oss);
+ stream = 15 - (ss - sc->num_iss - sc->num_oss);
else if (ss >= sc->num_iss)
stream = ss - sc->num_iss + 1;
else
More information about the svn-src-head
mailing list