ALSA: asihpi: add format support check in snd_card_asihpi_capture_formats
authorEldad Zack <eldad@fogrefinery.com>
Mon, 22 Apr 2013 23:00:42 +0000 (01:00 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 29 Apr 2013 11:37:33 +0000 (13:37 +0200)
Some Asihpi formats are not supported or invalid, and their mapping to
ALSA format is set to -1.
Before performing the format conversion into ALSA bitwise formats,
add a consistency check for the requested format, as done in
snd_card_asihpi_playback_formats().

Compile tested only.

Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/asihpi/asihpi.c

index 160cf830d327e3528d412166f76949c4efdd5f2e..fbc17203613c05f874e765ae30df13f12add9324 100644 (file)
@@ -1141,7 +1141,7 @@ static u64 snd_card_asihpi_capture_formats(struct snd_card_asihpi *asihpi,
                                        format, sample_rate, 128000, 0);
                if (!err)
                        err = hpi_instream_query_format(h_stream, &hpi_format);
-               if (!err)
+               if (!err && (hpi_to_alsa_formats[format] != -1))
                        formats |= pcm_format_to_bits(hpi_to_alsa_formats[format]);
        }
        return formats;