From e42d0c1a98e4cc346211db95d971ac2d0924d31c Mon Sep 17 00:00:00 2001 From: Axel Lin Date: Fri, 8 Jun 2012 08:35:37 +0800 Subject: [PATCH] --- yaml --- r: 319708 b: refs/heads/master c: ff2b7ac6f6c58b0011d9d73004fb6e396f514018 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/mfd/max77693.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 29a1a46ab983..998c194838b8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8b7353d17542b2a513aa62a9856215e99ddb8403 +refs/heads/master: ff2b7ac6f6c58b0011d9d73004fb6e396f514018 diff --git a/trunk/drivers/mfd/max77693.c b/trunk/drivers/mfd/max77693.c index 8eed0c47ade6..a1811cb50ec7 100644 --- a/trunk/drivers/mfd/max77693.c +++ b/trunk/drivers/mfd/max77693.c @@ -154,7 +154,7 @@ static int max77693_i2c_probe(struct i2c_client *i2c, ret = max77693_irq_init(max77693); if (ret < 0) - goto err_mfd; + goto err_irq; pm_runtime_set_active(max77693->dev); @@ -168,11 +168,11 @@ static int max77693_i2c_probe(struct i2c_client *i2c, return ret; err_mfd: + max77693_irq_exit(max77693); +err_irq: i2c_unregister_device(max77693->muic); i2c_unregister_device(max77693->haptic); err_regmap: - kfree(max77693); - return ret; } @@ -181,6 +181,7 @@ static int max77693_i2c_remove(struct i2c_client *i2c) struct max77693_dev *max77693 = i2c_get_clientdata(i2c); mfd_remove_devices(max77693->dev); + max77693_irq_exit(max77693); i2c_unregister_device(max77693->muic); i2c_unregister_device(max77693->haptic);