On Tue, Nov 28, 2017 at 4:11 AM, Viresh Kumar <viresh.kumar@xxxxxxxxxx> wrote: > The commit e948bc8fbee0 ("cpufreq: Cap the default transition delay > value to 10 ms") caused a regression on EPIA-M min-ITX computer where > shutdown or reboot hangs occasionally with a print message like: > > longhaul: Warning: Timeout while waiting for idle PCI bus > cpufreq: __target_index: Failed to change cpu frequency: -16 > > This probably happens because the cpufreq governor tries to change the > frequency of the CPU faster than allowed by the hardware. > > With the above commit, the default transition delay comes to 10 ms for a > transition_latency of 200 us. Set the default transition delay to 20 ms > directly to fix this regression. > > Fixes: e948bc8fbee0 ("cpufreq: Cap the default transition delay value to 10 ms") > Cc: 4.14+ <stable@xxxxxxxxxxxxxxx> # 4.14+ > Reported-by: Meelis Roos <mroos@xxxxxxxx> > Suggested-by: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> > Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> > --- > drivers/cpufreq/longhaul.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/cpufreq/longhaul.c b/drivers/cpufreq/longhaul.c > index c46a12df40dd..56eafcb07859 100644 > --- a/drivers/cpufreq/longhaul.c > +++ b/drivers/cpufreq/longhaul.c > @@ -894,7 +894,7 @@ static int longhaul_cpu_init(struct cpufreq_policy *policy) > if ((longhaul_version != TYPE_LONGHAUL_V1) && (scale_voltage != 0)) > longhaul_setup_voltagescaling(); > > - policy->cpuinfo.transition_latency = 200000; /* nsec */ > + policy->transition_delay_us = 20000; /* usec */ > > return cpufreq_table_validate_and_show(policy, longhaul_table); > } > -- Meelis, please check if this fixes the shutdown issue you have reported recently. Thanks, Rafael