staging: msm: tvenc: fix error handling
authorVasiliy Kulikov <segoon@openwall.com>
Fri, 26 Nov 2010 17:06:53 +0000 (20:06 +0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 29 Nov 2010 19:38:50 +0000 (11:38 -0800)
Driver init() function should return error code.
Also fix tvenc_clk leak.

Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/msm/tvenc.c

index f41c5ac..4fbb77b 100644 (file)
@@ -279,12 +279,13 @@ static int __init tvenc_driver_init(void)
 
        if (IS_ERR(tvenc_clk)) {
                printk(KERN_ERR "error: can't get tvenc_clk!\n");
-               return IS_ERR(tvenc_clk);
+               return PTR_ERR(tvenc_clk);
        }
 
        if (IS_ERR(tvdac_clk)) {
                printk(KERN_ERR "error: can't get tvdac_clk!\n");
-               return IS_ERR(tvdac_clk);
+               clk_put(tvenc_clk);
+               return PTR_ERR(tvdac_clk);
        }
 
 //     pm_qos_add_requirement(PM_QOS_SYSTEM_BUS_FREQ , "tvenc",