From: Dan Carpenter Date: Wed, 7 Apr 2010 09:21:05 +0000 (-0300) Subject: V4L/DVB: davinci: don't return under lock on error path X-Git-Tag: v2.6.35-rc1~480^2~219 X-Git-Url: http://bbs.cooldavid.org/git/?a=commitdiff_plain;h=2b080c5df00e431baec09222aa8d623f0cd77314;p=net-next-2.6.git V4L/DVB: davinci: don't return under lock on error path If the kmalloc() failed for "ccdc_cfg = kmalloc(...);" then we would exit with the lock held. I moved the mutex_lock() below the allocation because it isn't protecting anything in that block and allocations are allocations are sometimes slow. Signed-off-by: Dan Carpenter Acked-by: Vaibhav Hiremath Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/video/davinci/vpfe_capture.c b/drivers/media/video/davinci/vpfe_capture.c index d4676ad41f3..f6648f6ba2f 100644 --- a/drivers/media/video/davinci/vpfe_capture.c +++ b/drivers/media/video/davinci/vpfe_capture.c @@ -1861,7 +1861,6 @@ static __init int vpfe_probe(struct platform_device *pdev) goto probe_free_dev_mem; } - mutex_lock(&ccdc_lock); /* Allocate memory for ccdc configuration */ ccdc_cfg = kmalloc(sizeof(struct ccdc_config), GFP_KERNEL); if (NULL == ccdc_cfg) { @@ -1870,6 +1869,8 @@ static __init int vpfe_probe(struct platform_device *pdev) goto probe_free_lock; } + mutex_lock(&ccdc_lock); + strncpy(ccdc_cfg->name, vpfe_cfg->ccdc, 32); /* Get VINT0 irq resource */ res1 = platform_get_resource(pdev, IORESOURCE_IRQ, 0);