summaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorTakashi Iwai2013-01-15 17:43:09 +0100
committerTakashi Iwai2013-01-15 17:49:38 +0100
commit8ae3124b8f0f3f97f928be22ccc816118d4b0ecb (patch)
tree8ea0c9ba8dea48a5cda27ccecb58aff474633358 /sound/pci
parentALSA: hda/ca0132 - Fix possible NULL dereference (diff)
downloadkernel-qcow2-linux-8ae3124b8f0f3f97f928be22ccc816118d4b0ecb.tar.gz
kernel-qcow2-linux-8ae3124b8f0f3f97f928be22ccc816118d4b0ecb.tar.xz
kernel-qcow2-linux-8ae3124b8f0f3f97f928be22ccc816118d4b0ecb.zip
ALSA: hda/ca0132 - Fix possible invalid DMA channel deallocation
... in the error path in dspxfr_image(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/hda/patch_ca0132.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c
index ee2b9c6600ff..cc6c8a590316 100644
--- a/sound/pci/hda/patch_ca0132.c
+++ b/sound/pci/hda/patch_ca0132.c
@@ -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;
}
}