Date: Sat, 25 Nov 2017 09:42:14 +0000 (UTC) From: Alexander Motin <mav@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r326186 - head/sys/dev/sound/pci/hda Message-ID: <201711250942.vAP9gEDU040941@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201711250942.vAP9gEDU040941>