linux/arch/arm/plat-omap
Stanley.Miao 06151158f2 ARM: OMAP: Fix McBSP spin_lock deadlock
A spin_lock deadlock will occur when omap_mcbsp_request() is invoked.

omap_mcbsp_request()
\- clk_enable(mcbsp->clk)         [takes and holds clockfw_lock]
    \- omap2_clk_enable()
       \- _omap2_clk_enable()
           \- omap_mcbsp_clk_enable()
              \- clk_enable(child clock)   [tries for clockfw_lock again]

mcbsp_clk is a virtual clock and it comprises several child clocks. when
enable mcbsp_clk in omap_mcbsp_request(), the enable function of mcbsp_clk
will enable its child clocks, then the deadlock occurs.

The solution is to remove the virtual clock and enable these child clocks in
omap_mcbsp_request() directly.

Signed-off-by: Stanley.Miao <stanley.miao@windriver.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2009-01-29 08:57:12 -08:00
..
include/mach ARM: OMAP: Fix McBSP spin_lock deadlock 2009-01-29 08:57:12 -08:00
Kconfig [ARM] Arrange for platforms to select appropriate CPU support 2008-11-27 12:38:00 +00:00
Makefile [ARM] omap: allow ioremap() to use our fixed IO mappings 2008-09-05 17:02:29 +01:00
clock.c ARM: OMAP: Fix debugfs_create_*'s error checking method for arm/plat-omap 2008-11-04 13:35:07 -08:00
common.c Merge branch 'omap-all' into devel 2008-10-14 22:24:42 +01:00
cpu-omap.c [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
debug-devices.c ARM: OMAP: Switch to gpio_request/free calls 2008-12-10 17:35:30 -08:00
debug-leds.c ARM: OMAP: switch to standard gpio get/set calls 2008-12-10 17:35:25 -08:00
devices.c omap mmc: Add better MMC low-level init 2008-12-10 17:37:16 -08:00
dma.c ARM: OMAP: Fix DMA CCR programming for request line > 63, v3 2009-01-15 13:09:53 +02:00
dmtimer.c ARM: OMAP2: skip unnecessary TLDR write during non-autoreload for gptimer 2008-12-10 17:36:34 -08:00
fb.c [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
gpio.c ARM: OMAP: Fix gpio.c compile on 15xx with CONFIG_DEBUGFS 2009-01-15 13:09:53 +02:00
i2c.c [ARM] fix AT91, davinci, h720x, ks8695, msm, mx2, mx3, netx, omap1, omap2, pxa, s3c 2009-01-08 16:29:42 +00:00
io.c ARM: OMAP3: Add minimal omap3430 support 2008-10-09 17:51:41 +03:00
mailbox.c [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
mailbox.h ARM: OMAP: Add mailbox support for IVA 2007-05-09 10:37:10 +01:00
mcbsp.c ARM: OMAP: Fix McBSP spin_lock deadlock 2009-01-29 08:57:12 -08:00
mux.c [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
ocpi.c [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
sram.c ARM: OMAP2: Use omap_rev() instead of system_rev 2008-12-10 17:36:31 -08:00
usb.c [ARM] omap: usb: thou shalt not provide empty release functions 2009-01-24 17:00:45 +00:00