Re: [PATCH V2 0/7] cpufreq: governors: Fix ABBA lockups

From: Viresh Kumar
Date: Thu Feb 04 2016 - 07:17:35 EST


On 04-02-16, 11:54, Viresh Kumar wrote:
> From the code I still failed to understand this since sometime back
> and I something just caught my eyes and the 6th patch needs this
> fixup:
>
> diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
> index 7bc8a5ed97e5..ac3348ecde7b 100644
> --- a/drivers/cpufreq/cpufreq.c
> +++ b/drivers/cpufreq/cpufreq.c
> @@ -1351,7 +1351,7 @@ static void cpufreq_offline(unsigned int cpu)
> pr_err("%s: Failed to start governor\n", __func__);
> }
>
> - return;
> + goto unlock;
> }
>
> if (cpufreq_driver->stop_cpu)
> @@ -1373,6 +1373,8 @@ static void cpufreq_offline(unsigned int cpu)
> cpufreq_driver->exit(policy);
> policy->freq_table = NULL;
> }
> +
> +unlock:
> up_write(&policy->rwsem);
> }
>
> I tried the basic tests using './runme' and they aren't reporting the
> same lockdep now. And yes, your lockdep occurred on my exynos board as
> well :)
>
> I have re-pushed my patches again to the same branch. All 7 look fine
> to me now :)

FWIW, Juri has reported on IRC that the above diff fixed the lockdep
he reported yesterday and all the 7 patches are working fine on his
test machine, Juno.

--
viresh