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

Fixes: b2c75abde0de ("[media] cx88: drop videobuf abuse in cx88-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/cx88/cx88-alsa.c

index 29fb1311e44349257701538a72833a493dfa5c68..4e574d8390b4d7cb80074ba2a2e388ff642acf66 100644 (file)
@@ -483,8 +483,10 @@ static int snd_cx88_hw_params(struct snd_pcm_substream *substream,
 
        ret = cx88_risc_databuffer(chip->pci, &buf->risc, buf->sglist,
                                   chip->period_size, chip->num_periods, 1);
-       if (ret < 0)
+       if (ret < 0) {
+               cx88_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);