Skip to content

Commit

Permalink
ALSA: asihpi - Use valid channel count in format enumeration.
Browse files Browse the repository at this point in the history
Since introduction of mono and low latency modes, fixed channel count of 2
is not always valid.  Use reported max_channels instead.

Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Eliot Blennerhassett authored and Takashi Iwai committed Dec 22, 2011
1 parent 8637bc9 commit c1d70dd
Showing 1 changed file with 8 additions and 12 deletions.
20 changes: 8 additions & 12 deletions sound/pci/asihpi/asihpi.c
Original file line number Diff line number Diff line change
Expand Up @@ -961,14 +961,12 @@ static void snd_card_asihpi_playback_format(struct snd_card_asihpi *asihpi,

for (format = HPI_FORMAT_PCM8_UNSIGNED;
format <= HPI_FORMAT_PCM24_SIGNED; format++) {
err = hpi_format_create(&hpi_format,
2, format, sample_rate, 128000, 0);
err = hpi_format_create(&hpi_format, asihpi->out_max_chans,
format, sample_rate, 128000, 0);
if (!err)
err = hpi_outstream_query_format(h_stream,
&hpi_format);
err = hpi_outstream_query_format(h_stream, &hpi_format);
if (!err && (hpi_to_alsa_formats[format] != -1))
pcmhw->formats |=
(1ULL << hpi_to_alsa_formats[format]);
pcmhw->formats |= (1ULL << hpi_to_alsa_formats[format]);
}
}

Expand Down Expand Up @@ -1141,14 +1139,12 @@ static void snd_card_asihpi_capture_format(struct snd_card_asihpi *asihpi,
for (format = HPI_FORMAT_PCM8_UNSIGNED;
format <= HPI_FORMAT_PCM24_SIGNED; format++) {

err = hpi_format_create(&hpi_format, 2, format,
sample_rate, 128000, 0);
err = hpi_format_create(&hpi_format, asihpi->in_max_chans,
format, sample_rate, 128000, 0);
if (!err)
err = hpi_instream_query_format(h_stream,
&hpi_format);
err = hpi_instream_query_format(h_stream, &hpi_format);
if (!err)
pcmhw->formats |=
(1ULL << hpi_to_alsa_formats[format]);
pcmhw->formats |= (1ULL << hpi_to_alsa_formats[format]);
}
}

Expand Down

0 comments on commit c1d70dd

Please sign in to comment.