diff options
Diffstat (limited to 'sound/soc/txx9')
| -rw-r--r-- | sound/soc/txx9/txx9aclc-ac97.c | 8 | ||||
| -rw-r--r-- | sound/soc/txx9/txx9aclc.c | 14 | 
2 files changed, 11 insertions, 11 deletions
diff --git a/sound/soc/txx9/txx9aclc-ac97.c b/sound/soc/txx9/txx9aclc-ac97.c index e0305a14856..9edd68db9f4 100644 --- a/sound/soc/txx9/txx9aclc-ac97.c +++ b/sound/soc/txx9/txx9aclc-ac97.c @@ -183,14 +183,16 @@ static int txx9aclc_ac97_dev_probe(struct platform_device *pdev)  	irq = platform_get_irq(pdev, 0);  	if (irq < 0)  		return irq; + +	drvdata = devm_kzalloc(&pdev->dev, sizeof(*drvdata), GFP_KERNEL); +	if (!drvdata) +		return -ENOMEM; +  	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);  	drvdata->base = devm_ioremap_resource(&pdev->dev, r);  	if (IS_ERR(drvdata->base))  		return PTR_ERR(drvdata->base); -	drvdata = devm_kzalloc(&pdev->dev, sizeof(*drvdata), GFP_KERNEL); -	if (!drvdata) -		return -ENOMEM;  	platform_set_drvdata(pdev, drvdata);  	drvdata->physbase = r->start;  	if (sizeof(drvdata->physbase) > sizeof(r->start) && diff --git a/sound/soc/txx9/txx9aclc.c b/sound/soc/txx9/txx9aclc.c index 45a6428cba8..f0829de2870 100644 --- a/sound/soc/txx9/txx9aclc.c +++ b/sound/soc/txx9/txx9aclc.c @@ -40,11 +40,6 @@ static const struct snd_pcm_hardware txx9aclc_pcm_hardware = {  	.info		  = SNDRV_PCM_INFO_INTERLEAVED |  			    SNDRV_PCM_INFO_BATCH |  			    SNDRV_PCM_INFO_PAUSE, -#ifdef __BIG_ENDIAN -	.formats	  = SNDRV_PCM_FMTBIT_S16_BE, -#else -	.formats	  = SNDRV_PCM_FMTBIT_S16_LE, -#endif  	.period_bytes_min = 1024,  	.period_bytes_max = 8 * 1024,  	.periods_min	  = 2, @@ -115,8 +110,8 @@ static void txx9aclc_dma_complete(void *arg)  	spin_lock_irqsave(&dmadata->dma_lock, flags);  	if (dmadata->frag_count >= 0) {  		dmadata->dmacount--; -		BUG_ON(dmadata->dmacount < 0); -		tasklet_schedule(&dmadata->tasklet); +		if (!WARN_ON(dmadata->dmacount < 0)) +			tasklet_schedule(&dmadata->tasklet);  	}  	spin_unlock_irqrestore(&dmadata->dma_lock, flags);  } @@ -181,7 +176,10 @@ static void txx9aclc_dma_tasklet(unsigned long data)  		spin_unlock_irqrestore(&dmadata->dma_lock, flags);  		return;  	} -	BUG_ON(dmadata->dmacount >= NR_DMA_CHAIN); +	if (WARN_ON(dmadata->dmacount >= NR_DMA_CHAIN)) { +		spin_unlock_irqrestore(&dmadata->dma_lock, flags); +		return; +	}  	while (dmadata->dmacount < NR_DMA_CHAIN) {  		dmadata->dmacount++;  		spin_unlock_irqrestore(&dmadata->dma_lock, flags);  | 
