bus: ti-sysc: Fix sysc_unprepare() when no clocks have been allocated

If we return early before ddata->clocks have been allocated we will get a
NULL pointer dereference in sysc_unprepare(). Let's fix this by returning
early when no clocks are allocated.

Fixes: 0eecc636e5 ("bus: ti-sysc: Add minimal TI sysc interconnect target driver")
Signed-off-by: Tony Lindgren <tony@atomide.com>
This commit is contained in:
Tony Lindgren 2019-03-21 11:00:21 -07:00
parent 8b30919a4e
commit aaa29bb01c

View File

@ -1331,6 +1331,9 @@ static void sysc_unprepare(struct sysc *ddata)
{ {
int i; int i;
if (!ddata->clocks)
return;
for (i = 0; i < SYSC_MAX_CLOCKS; i++) { for (i = 0; i < SYSC_MAX_CLOCKS; i++) {
if (!IS_ERR_OR_NULL(ddata->clocks[i])) if (!IS_ERR_OR_NULL(ddata->clocks[i]))
clk_unprepare(ddata->clocks[i]); clk_unprepare(ddata->clocks[i]);