aboutsummaryrefslogtreecommitdiff
path: root/regulator.c
diff options
context:
space:
mode:
authorDaniel Lezcano <daniel.lezcano@linaro.org>2011-06-27 22:59:17 +0200
committerDaniel Lezcano <daniel.lezcano@linaro.org>2011-06-27 22:59:17 +0200
commitcaafece2b452cbcb7f41672a3b4b76d64392e6da (patch)
treeea304adc8e2bbd189e7b8253fc987ca434e146ff /regulator.c
parent8f8050792fa4040615bcdac2aaae7e81f7122769 (diff)
downloadpowerdebug-caafece2b452cbcb7f41672a3b4b76d64392e6da.tar.gz
fix segfault when no clock is available
When there is no clock available, we even register the display ops. The 'enter' callbakc is set but not data is available int the row private data which leads to a segfaults. This patch fix this problem by not registering the ops if the pm subsystem was not correctly initialized. In the meantime, we have to erase the window when we are switching from one window to another. We can say it is the "default" display callback. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Reported-by: Milo (Woogyom) Kim <woogyom.kim@gmail.com>
Diffstat (limited to 'regulator.c')
-rw-r--r--regulator.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/regulator.c b/regulator.c
index 849f906..e9b01bb 100644
--- a/regulator.c
+++ b/regulator.c
@@ -236,12 +236,12 @@ static struct display_ops regulator_ops = {
int regulator_init(void)
{
- if (display_register(REGULATOR, &regulator_ops))
- return -1;
-
reg_tree = tree_load(SYSFS_REGULATOR, regulator_filter_cb);
if (!reg_tree)
return -1;
- return fill_regulator_tree();
+ if (fill_regulator_tree())
+ return -1;
+
+ return display_register(REGULATOR, &regulator_ops);
}