Re: [PATCH] pda_power: remove ac_draw_failed goto and label

From: Paul Parsons
Date: Fri Sep 21 2012 - 21:00:45 EST


Hello Anton,

On 22/09/12 00:51, Anton Vorontsov wrote:
On Fri, Sep 21, 2012 at 01:56:43AM +0100, Paul Parsons wrote:
A previous patch added the ac_draw_failed goto and label to
pda_power_probe(). The goto would be invoked after a failed call to
regulator_get().

However the way ac_draw is used - always after a check for NULL -
suggests that a failed call to regulator_get() was not fatal.

This patch removes the ac_draw_failed goto and label, partly reverting
the previous patch.

This patch also removes the assignment of an error code to ret after a
failed call to regulator_get(), since the error code is now never used.

Signed-off-by: Paul Parsons <lost.distance@xxxxxxxxx>
Cc: Philipp Zabel <philipp.zabel@xxxxxxxxx>
---
drivers/power/pda_power.c | 3 ---
1 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/drivers/power/pda_power.c b/drivers/power/pda_power.c
index d3be834d..7df7c5f 100644
--- a/drivers/power/pda_power.c
+++ b/drivers/power/pda_power.c
@@ -284,9 +284,7 @@ static int pda_power_probe(struct platform_device *pdev)
ac_draw = regulator_get(dev, "ac_draw");
if (IS_ERR(ac_draw)) {
dev_dbg(dev, "couldn't get ac_draw regulator\n");
- ret = PTR_ERR(ac_draw);
ac_draw = NULL;
- goto ac_draw_failed;

For some reason you have a bit different code, so your patch is not based
on the battery tree. (In my tree ret and ac_draw assignments are swapped.)
Maybe that's because I had to manually redo your first patch...

Anyway, I repeated your patch by hand again and thus applied it.

Yes, in my first patch I had swapped the ret and ac_draw assignments
when I moved the regulator_get() call to before the update_charger()
call. This was because the original order of the assignments:

ac_draw = NULL;
ret = PTR_ERR(ac_draw);

is obviously incorrect; the ac_draw assignment overwrites the error
code that should be returned by PTR_ERR().

Anyway, thank you for sorting this out!

Regards,
Paul

Thank you!

}

update_status();
@@ -416,7 +414,6 @@ ac_supply_failed:
regulator_put(ac_draw);
ac_draw = NULL;
}
-ac_draw_failed:
if (pdata->exit)
pdata->exit(dev);
init_failed:
--
1.7.8.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/