diff options
author | Andreas Schmidt <mail@schmidt-andreas.de> | 2018-04-22 20:21:11 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2018-04-25 10:33:29 +0200 |
commit | 361da8bb8237766755da6d3a3226efcd8679a7a9 (patch) | |
tree | 9381677a6fd0f42a3e3e35a1698c6c78be176c7a /drivers/watchdog | |
parent | aea31bf35f569aca4ec2091d7050488c0182926a (diff) | |
download | barebox-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.c | 6 |
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); |