]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: cx23885: Add missing unmap in snd_cx23885_hw_params()
authorHaoxiang Li <lihaoxiang@isrc.iscas.ac.cn>
Wed, 10 Dec 2025 03:02:17 +0000 (11:02 +0800)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Tue, 13 Jan 2026 12:21:03 +0000 (13:21 +0100)
In error path, add cx23885_alsa_dma_unmap() to release the
resource acquired by cx23885_alsa_dma_map().

Fixes: 9529a4b0cf49 ("[media] cx23885: drop videobuf abuse in cx23885-alsa")
Cc: stable@vger.kernel.org
Signed-off-by: Haoxiang Li <lihaoxiang@isrc.iscas.ac.cn>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/pci/cx23885/cx23885-alsa.c

index 25dc8d4dc5b73a781ffcc9d122011fe83072dce3..717fc6c9ef21f844b052d451a4533cb267bce914 100644 (file)
@@ -392,8 +392,10 @@ static int snd_cx23885_hw_params(struct snd_pcm_substream *substream,
 
        ret = cx23885_risc_databuffer(chip->pci, &buf->risc, buf->sglist,
                                   chip->period_size, chip->num_periods, 1);
-       if (ret < 0)
+       if (ret < 0) {
+               cx23885_alsa_dma_unmap(chip);
                goto error;
+       }
 
        /* Loop back to start of program */
        buf->risc.jmp[0] = cpu_to_le32(RISC_JUMP|RISC_IRQ1|RISC_CNT_INC);