Re: [PATCH 08/11] PM / devfreq: check get_dev_status in devfreq_update_stats

From: Chanwoo Choi
Date: Tue Mar 09 2021 - 11:21:15 EST


On 21. 3. 9. 오후 9:58, Dong Aisheng wrote:
Check .get_dev_status() in devfreq_update_stats in case it's abused
when a device does not provide it.

Signed-off-by: Dong Aisheng <aisheng.dong@xxxxxxx>
---
drivers/devfreq/governor.h | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/devfreq/governor.h b/drivers/devfreq/governor.h
index 31af6d072a10..67a6dbdd5d23 100644
--- a/drivers/devfreq/governor.h
+++ b/drivers/devfreq/governor.h
@@ -89,6 +89,9 @@ int devfreq_update_target(struct devfreq *devfreq, unsigned long freq);
static inline int devfreq_update_stats(struct devfreq *df)
{
+ if (!df->profile->get_dev_status)
+ return -EINVAL;
+

I'm considering the following method instead of returning the error
when .get_dev_status is NULL.

if (!df->profile->get_dev_status) {
df->last_status.total_time = 0;
df->last_status.busy_time = 0;
df->last_status.current_frequency = 0;
return 0;
}

return df->profile->get_dev_status(df->dev.parent, &df->last_status);
}
#endif /* _GOVERNOR_H */



--
Best Regards,
Samsung Electronics
Chanwoo Choi