ALSA: hda/ca0132 - Fix possible invalid DMA channel deallocation

... in the error path in dspxfr_image().

Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Iwai 2013-01-15 17:43:09 +01:00
parent 549e8292a1
commit 8ae3124b8f
1 changed files with 3 additions and 3 deletions

View File

@ -2167,7 +2167,7 @@ static const struct dsp_image_seg *get_next_seg_ptr(
/*
* CA0132 chip DSP transfer stuffs. For DSP download.
*/
#define INVALID_DMA_CHANNEL (~0UL)
#define INVALID_DMA_CHANNEL (~0U)
/*
* Program a list of address/data pairs via the ChipIO widget.
@ -2431,7 +2431,7 @@ static int dspxfr_image(struct hda_codec *codec,
dma_engine->buf_size = (ovly ? DSP_DMA_WRITE_BUFLEN_OVLY :
DSP_DMA_WRITE_BUFLEN_INIT) * 2;
dma_chan = 0;
dma_chan = ovly ? INVALID_DMA_CHANNEL : 0;
status = codec_set_converter_format(codec, WIDGET_CHIP_CTRL,
hda_format, &response);
@ -2453,7 +2453,7 @@ static int dspxfr_image(struct hda_codec *codec,
status = dspio_alloc_dma_chan(codec, &dma_chan);
if (status < 0) {
snd_printdd(KERN_ERR "alloc dmachan fail");
dma_chan = (unsigned int)INVALID_DMA_CHANNEL;
dma_chan = INVALID_DMA_CHANNEL;
goto exit;
}
}