mixer(3): Do not skip devices with no volume control

Some devices might not have a software volume control, but still be
able to be set as recording sources.

PR:		279787
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Reviewed by:	emaste
Differential Revision:	https://reviews.freebsd.org/D48730
This commit is contained in:
Christos Margiolis 2025-02-25 13:44:49 +02:00
parent cfdee707fb
commit f121de8fbc

View file

@ -113,14 +113,14 @@ dunit:
TAILQ_INIT(&m->devs);
for (i = 0; i < SOUND_MIXER_NRDEVICES; i++) {
if (!MIX_ISDEV(m, i))
if (!MIX_ISDEV(m, i) && !MIX_ISREC(m, i))
continue;
if ((dp = calloc(1, sizeof(struct mix_dev))) == NULL)
goto fail;
dp->parent_mixer = m;
dp->devno = i;
dp->nctl = 0;
if (_mixer_readvol(dp) < 0)
if (MIX_ISDEV(m, i) && _mixer_readvol(dp) < 0)
goto fail;
(void)strlcpy(dp->name, names[i], sizeof(dp->name));
TAILQ_INIT(&dp->ctls);