[PATCH v2] interconnect: Check for valid path in icc_set_bw()

From: Georgi Djakov
Date: Mon Jan 06 2020 - 12:27:48 EST


Use IS_ERR() to ensure that the path passed to icc_set_bw() is valid.

Signed-off-by: Georgi Djakov <georgi.djakov@xxxxxxxxxx>
---
v2:
- Use WARN_ON() instead of pr_err() (Bjorn)

drivers/interconnect/core.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/interconnect/core.c b/drivers/interconnect/core.c
index 63c164264b73..d2ba5ae7d25b 100644
--- a/drivers/interconnect/core.c
+++ b/drivers/interconnect/core.c
@@ -495,9 +495,12 @@ int icc_set_bw(struct icc_path *path, u32 avg_bw, u32 peak_bw)
size_t i;
int ret;

- if (!path || !path->num_nodes)
+ if (!path)
return 0;

+ if (WARN_ON(IS_ERR(path) || !path->num_nodes))
+ return -EINVAL;
+
mutex_lock(&icc_lock);

old_avg = path->reqs[0].avg_bw;