sound/pci/lx6464es/lx6464es.c | 1 + 1 file changed, 1 insertion(+)
In lx_hardware_open(), if lx_set_granularity() fails,
call lx_pipe_release() to release the resoueces.
Signed-off-by: Haoxiang Li <lihaoxiang@isrc.iscas.ac.cn>
---
sound/pci/lx6464es/lx6464es.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sound/pci/lx6464es/lx6464es.c b/sound/pci/lx6464es/lx6464es.c
index 96df00db51d5..af8d614381b5 100644
--- a/sound/pci/lx6464es/lx6464es.c
+++ b/sound/pci/lx6464es/lx6464es.c
@@ -113,6 +113,7 @@ static int lx_hardware_open(struct lx6464es *chip,
if (err < 0) {
dev_err(chip->card->dev, "setting granularity to %ld failed\n",
period_size);
+ lx_pipe_release(chip, 0, is_capture);
return err;
}
--
2.25.1
On Mon, 26 Jan 2026 02:18:54 +0100,
Haoxiang Li wrote:
>
> In lx_hardware_open(), if lx_set_granularity() fails,
> call lx_pipe_release() to release the resoueces.
>
> Signed-off-by: Haoxiang Li <lihaoxiang@isrc.iscas.ac.cn>
Thanks for the patch. But beware that this isn't about the kernel
resource allocation or free, but rather the manipulation of the
chip-inside configuration. So there is no memory leak or such.
And, this doesn't look like the only place that leads to the
unbalanced / unexpected configuration, and we might need to address
all...
Takashi
> ---
> sound/pci/lx6464es/lx6464es.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/sound/pci/lx6464es/lx6464es.c b/sound/pci/lx6464es/lx6464es.c
> index 96df00db51d5..af8d614381b5 100644
> --- a/sound/pci/lx6464es/lx6464es.c
> +++ b/sound/pci/lx6464es/lx6464es.c
> @@ -113,6 +113,7 @@ static int lx_hardware_open(struct lx6464es *chip,
> if (err < 0) {
> dev_err(chip->card->dev, "setting granularity to %ld failed\n",
> period_size);
> + lx_pipe_release(chip, 0, is_capture);
> return err;
> }
>
> --
> 2.25.1
>
© 2016 - 2026 Red Hat, Inc.