From 7203a4caa2ab725e8d272f3b7e358bd7135235be Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Thu, 21 Oct 2010 16:22:43 -0300 Subject: [PATCH] --- yaml --- r: 219513 b: refs/heads/master c: 29adc2c06fd7aa0a26135d8c96afd1cef9e6700b h: refs/heads/master i: 219511: ba91448bfd499f7cfa6f2b923f9d389dda0ac46f v: v3 --- [refs] | 2 +- trunk/drivers/media/video/s5p-fimc/fimc-core.c | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 646cd8df8b48..c941060a65c2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: aa55f3a46fe799b3c8396c57f4b4074252f635da +refs/heads/master: 29adc2c06fd7aa0a26135d8c96afd1cef9e6700b diff --git a/trunk/drivers/media/video/s5p-fimc/fimc-core.c b/trunk/drivers/media/video/s5p-fimc/fimc-core.c index 4b655461d399..2e7c547894b6 100644 --- a/trunk/drivers/media/video/s5p-fimc/fimc-core.c +++ b/trunk/drivers/media/video/s5p-fimc/fimc-core.c @@ -1320,16 +1320,18 @@ static int fimc_m2m_open(struct file *file) * is already opened. */ if (fimc->vid_cap.refcnt > 0) { - mutex_unlock(&fimc->lock); - return -EBUSY; + err = -EBUSY; + goto err_unlock; } fimc->m2m.refcnt++; set_bit(ST_OUTDMA_RUN, &fimc->state); ctx = kzalloc(sizeof *ctx, GFP_KERNEL); - if (!ctx) - return -ENOMEM; + if (!ctx) { + err = -ENOMEM; + goto err_unlock; + } file->private_data = ctx; ctx->fimc_dev = fimc; @@ -1349,6 +1351,7 @@ static int fimc_m2m_open(struct file *file) kfree(ctx); } +err_unlock: mutex_unlock(&fimc->lock); return err; }