Re: [PATCH] thermal: Check the policy first in cpufreq_cooling_register

From: Rafael J. Wysocki
Date: Sat Sep 03 2022 - 14:09:31 EST


On Tue, Aug 30, 2022 at 7:34 AM Viresh Kumar <viresh.kumar@xxxxxxxxxx> wrote:
>
> On 25-08-22, 19:40, Xuewen Yan wrote:
> > Since the policy needs to be accessed first when obtaining cpu devices,
> > first check whether the policy is legal before this.
> >
> > Signed-off-by: Xuewen Yan <xuewen.yan@xxxxxxxxxx>
>
> Fixes: 5130802ddbb1 ("thermal: cpu_cooling: Switch to QoS requests for freq limits")
>
> > ---
> > drivers/thermal/cpufreq_cooling.c | 10 +++++-----
> > 1 file changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/thermal/cpufreq_cooling.c b/drivers/thermal/cpufreq_cooling.c
> > index b76293cc989c..7838b6e2dba5 100644
> > --- a/drivers/thermal/cpufreq_cooling.c
> > +++ b/drivers/thermal/cpufreq_cooling.c
> > @@ -501,17 +501,17 @@ __cpufreq_cooling_register(struct device_node *np,
> > struct thermal_cooling_device_ops *cooling_ops;
> > char *name;
> >
> > + if (IS_ERR_OR_NULL(policy)) {
> > + pr_err("%s: cpufreq policy isn't valid: %p\n", __func__, policy);
> > + return ERR_PTR(-EINVAL);
> > + }
> > +
> > dev = get_cpu_device(policy->cpu);
> > if (unlikely(!dev)) {
> > pr_warn("No cpu device for cpu %d\n", policy->cpu);
> > return ERR_PTR(-ENODEV);
> > }
> >
> > - if (IS_ERR_OR_NULL(policy)) {
> > - pr_err("%s: cpufreq policy isn't valid: %p\n", __func__, policy);
> > - return ERR_PTR(-EINVAL);
> > - }
> > -
> > i = cpufreq_table_count_valid_entries(policy);
> > if (!i) {
> > pr_debug("%s: CPUFreq table not found or has no valid entries\n",
>
> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>

Applied as 6.1 material, thanks!