summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sound/soc/fsl/fsl_asrc_m2m.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sound/soc/fsl/fsl_asrc_m2m.c b/sound/soc/fsl/fsl_asrc_m2m.c
index 8de37d46940d..0caed6233b6b 100644
--- a/sound/soc/fsl/fsl_asrc_m2m.c
+++ b/sound/soc/fsl/fsl_asrc_m2m.c
@@ -827,7 +827,8 @@ static int fsl_asrc_open(struct inode *inode, struct file *file)
m2m = kzalloc(sizeof(struct fsl_asrc_m2m), GFP_KERNEL);
if (!m2m) {
dev_err(dev, "failed to allocate m2m resource\n");
- return -ENOMEM;
+ ret = -ENOMEM;
+ goto out;
}
pair->private = m2m;
@@ -843,6 +844,10 @@ static int fsl_asrc_open(struct inode *inode, struct file *file)
pm_runtime_get_sync(dev);
return 0;
+out:
+ kfree(pair);
+
+ return ret;
}
static int fsl_asrc_close(struct inode *inode, struct file *file)