https://github.com/torvalds/linux
Revision 8997b185119966c62c6e95e7b010b4060407e358 authored by Srivatsa S. Bhat on 28 April 2014, 18:54:58 UTC, committed by Rafael J. Wysocki on 28 April 2014, 23:22:54 UTC
During frequency transitions, the cpufreq core takes the responsibility of
invoking cpufreq_freq_transition_begin() and cpufreq_freq_transition_end()
for those cpufreq drivers that define the ->target_index callback but don't
set the ASYNC_NOTIFICATION flag.

The powernow-k7 cpufreq driver falls under this category, but this driver was
invoking the _begin() and _end() APIs itself around frequency transitions,
which led to double invocation of the _begin() API. The _begin API makes
contending callers wait until the previous invocation is complete. Hence,
the powernow-k7 driver ended up waiting on itself, leading to system hangs
during boot.

Fix this by removing the calls to the _begin() and _end() APIs from the
powernow-k7 driver, since they rightly belong to the cpufreq core.

Fixes: 12478cf0c55e (cpufreq: Make sure frequency transitions are serialized)
Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
1 parent 3221e55
Raw File
Tip revision: 8997b185119966c62c6e95e7b010b4060407e358 authored by Srivatsa S. Bhat on 28 April 2014, 18:54:58 UTC
cpufreq: powernow-k7: Fix double invocation of cpufreq_freq_transition_begin/end
Tip revision: 8997b18
Kconfig
# ALSA SH drivers

menuconfig SND_SUPERH
	bool "SUPERH sound devices"
	depends on SUPERH
	default y
	help
	  Support for sound devices specific to SUPERH architectures.
	  Drivers that are implemented on ASoC can be found in
	  "ALSA for SoC audio support" section.

if SND_SUPERH

config SND_AICA
	tristate "Dreamcast Yamaha AICA sound"
	depends on SH_DREAMCAST
	select SND_PCM
	select G2_DMA
	help
	  ALSA Sound driver for the SEGA Dreamcast console.

config SND_SH_DAC_AUDIO
	tristate "SuperH DAC audio support"
	depends on SND
	depends on CPU_SH3 && HIGH_RES_TIMERS
	select SND_PCM
	help
	  Say Y here to include support for the on-chip DAC.

endif	# SND_SUPERH

back to top