From db1a22121d8fd3e48f1ba242b8419287c5c968f3 Mon Sep 17 00:00:00 2001 From: Kaz Fukuoka Date: Wed, 25 May 2011 14:40:53 -0700 Subject: media: tegra: avp: Avoid NULL reference in case of error In case of avp_init() failure, NULL pointer was referenced, and caused kernel panic. bug 828027 Change-Id: I748f439b39db086be856bf4d6b2ec98c4ad3559a Reviewed-on: http://git-master/r/32141 Reviewed-by: Kaz Fukuoka Tested-by: Kaz Fukuoka Reviewed-by: Mayuresh Kulkarni Reviewed-by: Bharat Nihalani --- drivers/media/video/tegra/avp/avp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/media/video/tegra/avp/avp.c b/drivers/media/video/tegra/avp/avp.c index db7410e41230..34f7ccdfcac4 100644 --- a/drivers/media/video/tegra/avp/avp.c +++ b/drivers/media/video/tegra/avp/avp.c @@ -1387,14 +1387,15 @@ int tegra_avp_open(struct tegra_avp_info **avp) ret = avp_init(new_avp); if (ret < 0) { + mutex_unlock(&new_avp->open_lock); new_avp = 0; goto out; } new_avp->refcount++; -out: mutex_unlock(&new_avp->open_lock); +out: *avp = new_avp; return ret; } -- cgit v1.2.3