On 09/22/2013 03:21 AM, Viresh Kumar wrote:
> In cpuidle_coupled_register_device() we do following:
>       if (WARN_ON(!cpumask_equal(&dev->coupled_cpus, &coupled->coupled_cpus)))
>               coupled->prevent++;
> 
> This is only required to be done when we are using 'coupled' from an existing
> cpuidle_device and not when we have just done this:
> 
>       coupled->coupled_cpus = dev->coupled_cpus
> 
> So, move this compare statement to the right place.
> 
> Signed-off-by: Viresh Kumar <viresh.ku...@linaro.org>

Cc'ed Colin Cross.

> ---
>  drivers/cpuidle/coupled.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/cpuidle/coupled.c b/drivers/cpuidle/coupled.c
> index e952936..19a89eb 100644
> --- a/drivers/cpuidle/coupled.c
> +++ b/drivers/cpuidle/coupled.c
> @@ -642,6 +642,10 @@ int cpuidle_coupled_register_device(struct 
> cpuidle_device *dev)
>               other_dev = per_cpu(cpuidle_devices, cpu);
>               if (other_dev && other_dev->coupled) {
>                       coupled = other_dev->coupled;
> +
> +                     if (WARN_ON(!cpumask_equal(&dev->coupled_cpus,
> +                                             &coupled->coupled_cpus)))
> +                             coupled->prevent++;
>                       goto have_coupled;
>               }
>       }
> @@ -655,9 +659,6 @@ int cpuidle_coupled_register_device(struct cpuidle_device 
> *dev)
>  
>  have_coupled:
>       dev->coupled = coupled;
> -     if (WARN_ON(!cpumask_equal(&dev->coupled_cpus, &coupled->coupled_cpus)))
> -             coupled->prevent++;
> -
>       cpuidle_coupled_update_online_cpus(coupled);
>  
>       coupled->refcnt++;
> 


-- 
 <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to