aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/i2c
diff options
context:
space:
mode:
authorSylwester Nawrocki <s.nawrocki@samsung.com>2012-08-16 10:15:00 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-10-01 13:56:15 -0400
commit9064cb5e03b1502782d314b03ea3cbe09992f9a7 (patch)
treea72ae625ad854c238d7d52031ac6b56a30a866ed /drivers/media/i2c
parentbbc5296f20570756ca437587325c785a2d96ea96 (diff)
[media] m5mols: Add missing free_irq() on error path
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>
Diffstat (limited to 'drivers/media/i2c')
-rw-r--r--drivers/media/i2c/m5mols/m5mols_core.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/media/i2c/m5mols/m5mols_core.c b/drivers/media/i2c/m5mols/m5mols_core.c
index 0f521f57e8e5..6ca6a7f9de15 100644
--- a/drivers/media/i2c/m5mols/m5mols_core.c
+++ b/drivers/media/i2c/m5mols/m5mols_core.c
@@ -931,7 +931,7 @@ static int __devinit m5mols_probe(struct i2c_client *client,
931 931
932 ret = m5mols_sensor_power(info, true); 932 ret = m5mols_sensor_power(info, true);
933 if (ret) 933 if (ret)
934 goto out_me; 934 goto out_irq;
935 935
936 ret = m5mols_fw_start(sd); 936 ret = m5mols_fw_start(sd);
937 if (!ret) 937 if (!ret)
@@ -940,6 +940,8 @@ static int __devinit m5mols_probe(struct i2c_client *client,
940 ret = m5mols_sensor_power(info, false); 940 ret = m5mols_sensor_power(info, false);
941 if (!ret) 941 if (!ret)
942 return 0; 942 return 0;
943out_irq:
944 free_irq(client->irq, sd);
943out_me: 945out_me:
944 media_entity_cleanup(&sd->entity); 946 media_entity_cleanup(&sd->entity);
945out_reg: 947out_reg: