[alsa-devel] Patch to /sound/soc/pxa/pxa2xx_pcm.c, WHO IS INTERESTED?
Mark Brown
broonie at sirena.org.uk
Fri Dec 19 12:57:38 CET 2008
On Thu, Dec 18, 2008 at 10:34:53AM -0800, sware wrote:
> Patch is to 2.6.27.9 (yesterday), notice .10 is up today,
> patch should still apply.
Thanks for your patch. Unfortunately all this code has been moved about
a lot in the latest code in order to share the code with the non-ASoC
AC97 driver so your patch won't apply - see the topic/asoc branch of
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
for the latest code. Could you rebase your work against that, please?
Also, please include a Signed-off-by line for patch submissions - for
details see Documentation/SubmittingPatches
> diff -uprN -X linux-2.6.27.9.orig/Documentation/dontdiff linux-2.6.27.9.orig/sound/soc/pxa/pxa2xx-pcm.c linux-2.6.27.9.snd_modified/sound/soc/pxa/pxa2xx-pcm.c
> --- linux-2.6.27.9.orig/sound/soc/pxa/pxa2xx-pcm.c 2008-12-13 15:56:16.000000000 -0800
> +++ linux-2.6.27.9.snd_modified/sound/soc/pxa/pxa2xx-pcm.c 2008-12-17 14:09:02.000000000 -0800
> @@ -137,13 +137,18 @@ static int pxa2xx_pcm_hw_free(struct snd
> {
> struct pxa2xx_runtime_data *prtd = substream->runtime->private_data;
>
> - if (prtd && prtd->params)
> + if (!prtd)
> + return 0;
> + if (!prtd->params)
> + return 0;
> +
prtd should always be there - the code should at least complain loudly
if it's NULL. params might potentially be hit, though.
> *prtd->params->drcmr = 0;
>
> - if (prtd->dma_ch) {
> + if (prtd->dma_ch >= 0) {
> snd_pcm_set_runtime_buffer(substream, NULL);
> pxa_free_dma(prtd->dma_ch);
> - prtd->dma_ch = 0;
> + prtd->dma_ch = -1; /* invalid channel */
> + prtd->params = NULL;
> }
This bit is good.
> @@ -266,6 +271,8 @@ static int pxa2xx_pcm_close(struct snd_p
> dma_free_writecombine(substream->pcm->card->dev, PAGE_SIZE,
> prtd->dma_desc_array, prtd->dma_desc_array_phys);
> kfree(prtd);
> + runtime->private_data = NULL;
> +
> return 0;
> }
As is this.
More information about the Alsa-devel
mailing list