From 307c299a33c5ed6ec45d79a4fbe7aaf2a7541287 Mon Sep 17 00:00:00 2001 From: Axel Lin Date: Mon, 25 Oct 2010 10:11:07 +0800 Subject: [PATCH] --- yaml --- r: 220542 b: refs/heads/master c: da05738e94b644d759f28184a9f0bf875b271c55 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/regulator/max8952.c | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index f50b98b58175..66b83267ed25 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f5ee10ab42c76f36eea1bd6f7a35da387635ebf9 +refs/heads/master: da05738e94b644d759f28184a9f0bf875b271c55 diff --git a/trunk/drivers/regulator/max8952.c b/trunk/drivers/regulator/max8952.c index f2af0b1c3925..7d6aacf5c493 100644 --- a/trunk/drivers/regulator/max8952.c +++ b/trunk/drivers/regulator/max8952.c @@ -212,9 +212,11 @@ static int __devinit max8952_pmic_probe(struct i2c_client *client, max8952->rdev = regulator_register(®ulator, max8952->dev, &pdata->reg_data, max8952); - ret = IS_ERR(max8952->rdev); - if (ret) + if (IS_ERR(max8952->rdev)) { + ret = PTR_ERR(max8952->rdev); dev_err(max8952->dev, "regulator init failed (%d)\n", ret); + goto err_reg; + } max8952->en = !!(pdata->reg_data.constraints.boot_on); max8952->vid0 = (pdata->default_mode % 2) == 1; @@ -309,6 +311,10 @@ static int __devinit max8952_pmic_probe(struct i2c_client *client, i2c_set_clientdata(client, max8952); + return 0; + +err_reg: + kfree(max8952); return ret; }