From 885afdcd0e93ab3e331f1ef59a3477d3b61d5ec1 Mon Sep 17 00:00:00 2001 From: Finley Xiao Date: Wed, 18 Sep 2024 17:25:44 +0800 Subject: [PATCH] PM / devfreq: rockchip_dmc: Fix dev_pm_opp_get_opp_table() return value Change-Id: I8a3f293bdfc17574735365e5049bdf47ce321770 Signed-off-by: Finley Xiao --- drivers/devfreq/rockchip_dmc.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/devfreq/rockchip_dmc.c b/drivers/devfreq/rockchip_dmc.c index a60617210d93..c798f9220ed7 100644 --- a/drivers/devfreq/rockchip_dmc.c +++ b/drivers/devfreq/rockchip_dmc.c @@ -1299,9 +1299,11 @@ rockchip_dmcfreq_adjust_opp_table(struct rockchip_dmcfreq *dmcfreq) } freq_table = kzalloc(sizeof(*freq_table) * count, GFP_KERNEL); + if (!freq_table) + return -ENOMEM; opp_table = dev_pm_opp_get_opp_table(dev); - if (!opp_table) { - ret = -ENOMEM; + if (IS_ERR(opp_table)) { + ret = PTR_ERR(opp_table); goto out; } @@ -1344,7 +1346,7 @@ rockchip_dmcfreq_adjust_opp_table(struct rockchip_dmcfreq *dmcfreq) dmcfreq->freq_info_rate[i]); if (i == 0) { ret = -EPERM; - goto out; + break; } else { opp->available = false; dmcfreq->freq_count = i;