soc: qcom: subsystem_restart: Add checks to verify validity of a device

Extra checks are added to ensure a subsystem device is valid before
accessing any of its fields.

Change-Id: Ia8e3dced005485b1edb5d6ccf9429f90d31fa613
Signed-off-by: Anant Goel <anantg@codeaurora.org>
This commit is contained in:
Anant Goel 2018-06-14 18:40:51 -07:00
parent 53c73b7190
commit a6672f6af9

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2011-2017, The Linux Foundation. All rights reserved.
/* Copyright (c) 2011-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@ -1083,7 +1083,7 @@ int subsystem_restart_dev(struct subsys_device *dev)
{
const char *name;
if (!get_device(&dev->dev))
if ((!dev) || !get_device(&dev->dev))
return -ENODEV;
if (!try_module_get(dev->owner)) {
@ -1177,11 +1177,21 @@ EXPORT_SYMBOL(subsystem_crashed);
void subsys_set_crash_status(struct subsys_device *dev,
enum crash_status crashed)
{
if (!dev) {
pr_err("Invalid subsystem device\n");
return;
}
dev->crashed = crashed;
}
enum crash_status subsys_get_crash_status(struct subsys_device *dev)
{
if (!dev) {
pr_err("Invalid subsystem device\n");
return CRASH_STATUS_NO_CRASH;
}
return dev->crashed;
}