Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Dec 2017 00:25:15 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r327170 - stable/11/sys/dev/sound/pci/hda
Message-ID:  <201712250025.vBP0PFTm068021@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mav
Date: Mon Dec 25 00:25:15 2017
New Revision: 327170
URL: https://svnweb.freebsd.org/changeset/base/327170

Log:
  MFC r326186: 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.

Modified:
  stable/11/sys/dev/sound/pci/hda/hdac.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/dev/sound/pci/hda/hdac.c
==============================================================================
--- stable/11/sys/dev/sound/pci/hda/hdac.c	Sun Dec 24 20:17:36 2017	(r327169)
+++ stable/11/sys/dev/sound/pci/hda/hdac.c	Mon Dec 25 00:25:15 2017	(r327170)
@@ -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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201712250025.vBP0PFTm068021>