summaryrefslogtreecommitdiffstats
path: root/drivers/watchdog
diff options
context:
space:
mode:
authorAndreas Schmidt <mail@schmidt-andreas.de>2018-04-22 20:21:11 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2018-04-25 10:33:29 +0200
commit361da8bb8237766755da6d3a3226efcd8679a7a9 (patch)
tree9381677a6fd0f42a3e3e35a1698c6c78be176c7a /drivers/watchdog
parentaea31bf35f569aca4ec2091d7050488c0182926a (diff)
downloadbarebox-361da8bb8237766755da6d3a3226efcd8679a7a9.tar.gz
barebox-361da8bb8237766755da6d3a3226efcd8679a7a9.tar.xz
watchdog: core: check hwdev before use it
Avoid null pointer access, if hwdev was not set before call watchdog_register. Signed-off-by: Andreas Schmidt <mail@schmidt-andreas.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/watchdog')
-rw-r--r--drivers/watchdog/wd_core.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/watchdog/wd_core.c b/drivers/watchdog/wd_core.c
index d3305443d0..56e8626cb1 100644
--- a/drivers/watchdog/wd_core.c
+++ b/drivers/watchdog/wd_core.c
@@ -112,10 +112,12 @@ static int watchdog_register_dev(struct watchdog *wd, const char *name, int id)
int watchdog_register(struct watchdog *wd)
{
struct param_d *p;
- const char *alias;
+ const char *alias = NULL;
int ret = 0;
- alias = of_alias_get(wd->hwdev->device_node);
+ if (wd->hwdev)
+ alias = of_alias_get(wd->hwdev->device_node);
+
if (alias)
ret = watchdog_register_dev(wd, alias, DEVICE_ID_SINGLE);