[alsa-devel] [PATCH] To avoid the divide by zero error during the first execution, initialize the data type.

Troy Kisky troy.kisky at boundarydevices.com
Wed Sep 9 22:47:06 CEST 2009


avm at ti.com wrote:
> From: Arun Mani <a0270733 at gtcx26221.gt.design.ti.com>
> 
> Signed-off-by: Arun Mani <a0270733 at gtcx26221.gt.design.ti.com>
> ---
>  sound/soc/davinci/davinci-i2s.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/sound/soc/davinci/davinci-i2s.c b/sound/soc/davinci/davinci-i2s.c
> index b1ea52f..61b1763 100644
> --- a/sound/soc/davinci/davinci-i2s.c
> +++ b/sound/soc/davinci/davinci-i2s.c
> @@ -104,10 +104,12 @@ enum {
>  
>  static struct davinci_pcm_dma_params davinci_i2s_pcm_out = {
>  	.name = "I2S PCM Stereo out",
> +	.data_type = 2, //Initialize the data type for playback to avoid divide by zero

You should have ".acnt = 2" also for consistency.
>  };
>  
>  static struct davinci_pcm_dma_params davinci_i2s_pcm_in = {
>  	.name = "I2S PCM Stereo in",
> +	.data_type = 2, //Initialize the data type for playback to avoid divide by zero
>  };
>  
>  struct davinci_mcbsp_dev {

And if the 1st stream is an 8-bit audio stream, will it initialize it incorrectly ???
Of course, we have formats = SNDRV_PCM_FMTBIT_S16_LE, currently so it's not an issue yet...

I don't see how data_type is not being set in davinci_i2s_hw_params
before being used in davinci_pcm_prepare.

Can prepare be called before hw_params ?

There is a "return -EINVAL" in davinci_i2s_hw_params with a
"printk(KERN_WARNING "davinci-i2s: unsupported PCM format\n")" before it.

Do you see this message in your log ?


Thanks
Troy



More information about the Alsa-devel mailing list