diff --git a/[refs] b/[refs] index 42c5ad3bacfc..28f4f68d1131 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d0b6a971ed034054897df42f3e3000b4f57cccc5 +refs/heads/master: 0021586b958d7eb5d73dbb9c42a0b4f19ebe3a9e diff --git a/trunk/drivers/misc/lis3lv02d/lis3lv02d_i2c.c b/trunk/drivers/misc/lis3lv02d/lis3lv02d_i2c.c index b20dfb4522d2..ea9159c65b58 100644 --- a/trunk/drivers/misc/lis3lv02d/lis3lv02d_i2c.c +++ b/trunk/drivers/misc/lis3lv02d/lis3lv02d_i2c.c @@ -161,8 +161,13 @@ static int __devinit lis3lv02d_i2c_probe(struct i2c_client *client, if (lis3_dev.reg_ctrl) lis3_reg_ctrl(&lis3_dev, LIS3_REG_OFF); - if (ret == 0) - return 0; + if (ret) + goto fail2; + return 0; + +fail2: + regulator_bulk_free(ARRAY_SIZE(lis3_dev.regulators), + lis3_dev.regulators); fail: if (pdata && pdata->release_resources) pdata->release_resources();