staging: greybus: audio: Initialize sig_bits before configuring hwparams
authorVaibhav Agarwal <vaibhav.agarwal@linaro.org>
Wed, 18 Jan 2017 17:21:51 +0000 (22:51 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Jan 2017 10:08:00 +0000 (11:08 +0100)
Uninitialized variable sig_bits was used while configuring stream params
for codec module. These params are used to configure PCM settings for
APBridgeA.

Usually, this is dependent on codec capability and thus populated via
codec dai_driver definition. In our case, it is fixed to 16 based on the
data format, container supported.

Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
Signed-off-by: Vaibhav Agarwal <vaibhav.sr@gmail.com>
Acked-by: Mark Greer <mgreer@animalcreek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/greybus/audio_codec.c

index f8862c6d71026ccc5ab793da69da01dc875b51d3..b9d66278ff8767a864bf86eb68e5d5d433584e5a 100644 (file)
@@ -496,6 +496,11 @@ static int gbcodec_hw_params(struct snd_pcm_substream *substream,
 
        gb_pm_runtime_put_noidle(bundle);
 
+       if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
+               sig_bits = dai->driver->playback.sig_bits;
+       else
+               sig_bits = dai->driver->capture.sig_bits;
+
        params->state = GBAUDIO_CODEC_HWPARAMS;
        params->format = format;
        params->rate = rate;
@@ -689,6 +694,7 @@ static struct snd_soc_dai_driver gbaudio_dai[] = {
                        .rate_min = 48000,
                        .channels_min = 1,
                        .channels_max = 2,
+                       .sig_bits = 16,
                },
                .capture = {
                        .stream_name = "I2S 0 Capture",
@@ -698,6 +704,7 @@ static struct snd_soc_dai_driver gbaudio_dai[] = {
                        .rate_min = 48000,
                        .channels_min = 1,
                        .channels_max = 2,
+                       .sig_bits = 16,
                },
                .ops = &gbcodec_dai_ops,
        },