[media] m5mols: Add missing free_irq() on error path
authorSylwester Nawrocki <s.nawrocki@samsung.com>
Thu, 16 Aug 2012 14:15:00 +0000 (11:15 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 1 Oct 2012 17:56:15 +0000 (14:56 -0300)
Make sure the interrupt is freed when driver probing fails.

Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: HeungJun Kim <riverful.kim@samsung.com>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/i2c/m5mols/m5mols_core.c

index 0f521f57e8e5b8864bbce00344379de768c3989d..6ca6a7f9de1532f9ae404e7c83f9a43aa01704c7 100644 (file)
@@ -931,7 +931,7 @@ static int __devinit m5mols_probe(struct i2c_client *client,
 
        ret = m5mols_sensor_power(info, true);
        if (ret)
-               goto out_me;
+               goto out_irq;
 
        ret = m5mols_fw_start(sd);
        if (!ret)
@@ -940,6 +940,8 @@ static int __devinit m5mols_probe(struct i2c_client *client,
        ret = m5mols_sensor_power(info, false);
        if (!ret)
                return 0;
+out_irq:
+       free_irq(client->irq, sd);
 out_me:
        media_entity_cleanup(&sd->entity);
 out_reg: